React Click 事件的正确类型是什么?

Tag*_*ari 10 javascript typescript reactjs

我想为我的事件处理程序使用一个类型,而不是使用任何类型,任何人都可以帮助我吗?这是我正在尝试重构的代码:

const MyComponent = () => {
  const handleBtnClick = (e: any) => {
    e.stopPropagation();
    //**Some Code**
  }
  return <CustomButton onClick={handleBtnClick} />
}
Run Code Online (Sandbox Code Playgroud)

adS*_*Sad 19

对于打字,你应该有 TypeScript,你可以在其中执行以下操作:

const handleBtnClick = (e: React.MouseEvent<HTMLButtonElement>) => { ... }
Run Code Online (Sandbox Code Playgroud)

请参考此: https: //fettblog.eu/typescript-react/events/

当然,您可以在没有 TypeScript 的情况下尝试它,但不值得。

希望能帮助到你。


mar*_*lin 7

如果您创建一个<button>并将鼠标悬停在onClick道具上,您将在工具提示中获得类型:

在此处输入图片说明

在您的示例代码中,您正在创建一个自定义按钮,因此类型取决于该组件的实现。

  • 这并不完全适用 - 我假设您使用的是 Visual Studio Code 或 Webstorm 这样的编辑器 - 但这仍然是一个很好的建议,前提是阅读本文的人正在使用这样的编辑器 (2认同)