【发布时间】:2019-09-01 10:09:49
【问题描述】:
是否可以使用 function 作为我的 React 组件的状态?
此处的示例代码:
// typescript
type OoopsFunction = () => void;
export function App() {
const [ooops, setOoops] = React.useState<OoopsFunction>(
() => console.log('default ooops')
);
return (
<div>
<div onClick={ ooops }>
Show Ooops
</div>
<div onClick={() => {
setOoops(() => console.log('other ooops'))
}}>
change oops
</div>
</div>
)
}
但它不起作用...defaultOoops 将在一开始就被调用,当单击change oops 时,otrher ooops 将立即记录到控制台,而不是在再次单击Show Ooops 后记录。
为什么?
我可以使用函数作为组件的状态吗?
否则 React 有其特殊的方法来处理这样的 the function state ?
【问题讨论】:
标签: reactjs typescript default-value react-hooks