Reactjs 在Typescript React中声明可选事件回调
如何为React Typescript中的事件定义可选回调Reactjs 在Typescript React中声明可选事件回调,reactjs,typescript,Reactjs,Typescript,如何为React Typescript中的事件定义可选回调 interface Props{ data: any handleClick?: ()=>void } const FunctionalComponent: React.StatelessComponent<Props> = (props) => { return ( <React.Fragment> {props.data}
interface Props{
data: any
handleClick?: ()=>void
}
const FunctionalComponent: React.StatelessComponent<Props> = (props) => {
return (
<React.Fragment>
{props.data}
<div onClick={() => props.handleClick()}>optional Click Event</div>
</React.Fragment>
)
}
问题在于,由于属性是可选的(并且您启用了
strictNullChecks
),Typescript将强制您确保handleClick
实际上没有未定义
最简单的解决方案是使用&&
运算符进行检查,例如:
<React.Fragment>
{props.data}
<div onClick={() => props.handleClick && props.handleClick()}>optional Click Event</div>
</React.Fragment>
{props.data}
props.handleClick&&props.handleClick()}>可选单击事件
问题在于,由于属性是可选的(并且您启用了strictNullChecks
),Typescript将强制您确保handleClick
实际上没有未定义
最简单的解决方案是使用&&
运算符进行检查,例如:
<React.Fragment>
{props.data}
<div onClick={() => props.handleClick && props.handleClick()}>optional Click Event</div>
</React.Fragment>
{props.data}
props.handleClick&&props.handleClick()}>可选单击事件
<React.Fragment>
{props.data}
<div onClick={() => props.handleClick && props.handleClick()}>optional Click Event</div>
</React.Fragment>