我有一个React组件的以下代码.声明传递给组件的两个onClick处理程序的正确方法是什么? interface LoginFormProps { loginClicked: ???? --- onClick handler signature cancelClicked: ???? --- onClick handler signatur
interface LoginFormProps { loginClicked: ???? <--- onClick handler signature cancelClicked: ???? <--- onClick handler signature } class LoginForm extends React.Component<LoginFormProps, {}> { render() { <form> <button onClick={loginClicked}> Login </button> <button onClick={cancelClicked}> Cancel </button> </form> } }我通常使用:
interface ILoginFormProps { loginClicked: (ev) => void; // }
但是如果你想对你的打字非常严格:
interface ILoginFormProps { loginClicked: (ev: React.MouseEvent<HTMLButtonElement>) => void; // }