【发布时间】:2020-08-19 10:55:47
【问题描述】:
我有一个可重用的组件,它接受可选的 onClick 回调函数作为道具。
我将 Props 接口定义如下:
interface Props {
prop1: string;
prop2: string;
optionalClickFn?: () => void;
}
函数式 React (JSX) 组件如下:
const ExampleComponent = (props: Props) => {
return{
{ props.optionalClickFn ? <div
className="delete-btn"
onClick={() => props.optionalClickFn()}
>
<FontAwesomeIcon icon={faTimesCircle} color="red" />
</div> : <div></div>}
}
}
我已经定义了一个可选的 prop 'optionalClickFn',因此我在执行函数之前首先检查它是否存在。但是,我仍然收到错误:无法调用可能是“未定义”的对象。
【问题讨论】:
-
没错,根据你的 prop 定义,它可能是未定义的。如果该道具未定义,您希望组件做什么?
标签: javascript reactjs typescript