是否可以使用 afunction作为我的 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>
)
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用......defaultOoops将在最开始时调用,当单击时change oops,otrher ooops将立即记录到控制台,Show Ooops再次单击后不会记录。
为什么 ?
我可以使用函数作为组件的状态吗?
或者 React 有其特殊的处理方式the function state?