小编ecz*_*czn的帖子

是否可以在 React 中使用 React.useState(() => {}) ?

是否可以使用 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 oopsotrher ooops将立即记录到控制台,Show Ooops再次单击后不会记录。

为什么 ?

我可以使用函数作为组件的状态吗?

或者 React 有其特殊的处理方式the function state

default-value typescript reactjs react-hooks

47
推荐指数
2
解决办法
2万
查看次数

标签 统计

default-value ×1

react-hooks ×1

reactjs ×1

typescript ×1