我有一个带有onClick属性的button.tsx。
import * as React from 'react';
interface Props {
className?: string;
text: string;
onClick?(event: React.MouseEvent<HTMLButtonElement>): void;
type?: string;
}
const submitButton = (event: React.MouseEvent<HTMLButtonElement> , props:
Props) => {
event.preventDefault();
props.onClick(event);
};
export const ButtonComponent = (props: Props) => {
return (
<button
className={props.className}
type={props.type}
onClick={submitButton(event, props)}
>
{props.text}
</button>
);
};
如何将事件传递给submitButton函数?
现在我有这个错误:
类型&#39;事件&#39;的争论不能分配给类型的参数 &#39;的MouseEvent&#39 ;. 物业&#39; altKey&#39;类型&#39;事件&#39;
中缺少答案 0 :(得分:0)
您在渲染过程中立即调用submitButton
而不是将函数作为处理程序传递,因此事件不存在且您没有传递任何内容(submitButton
的返回类型为onClick)
作为函数传递给onClick而不是
<button className={props.className}
type={props.type}
onClick={event => submitButton(event, props)}>
{props.text}
</button>