Reactjs useState钩子可以作为参数接收回调吗?

Reactjs useState钩子可以作为参数接收回调吗?,reactjs,typescript,react-hooks,Reactjs,Typescript,React Hooks,我正在重构一些typescript代码,这对我来说似乎是个错误: const [previousFormType, changePreviousFormType] = useState<string>(() => selectedFormType) selectedFormType是字符串如果初始状态是昂贵计算的结果,则可以使用回调设置初始状态。有关详细信息,请参阅 你的两个例子是等价的,但在你的例子中 const [previousFormType, changePre

我正在重构一些typescript代码,这对我来说似乎是个错误:

const [previousFormType, changePreviousFormType] = useState<string>(() => selectedFormType)  

selectedFormType是字符串

如果初始状态是昂贵计算的结果,则可以使用回调设置初始状态。有关详细信息,请参阅

你的两个例子是等价的,但在你的例子中

const [previousFormType, changePreviousFormType] = useState(selectedFormType)  

这是一个更好的选择

如果初始状态是昂贵计算的结果,则可以使用回调来设置初始状态。有关详细信息,请参阅

你的两个例子是等价的,但在你的例子中

const [previousFormType, changePreviousFormType] = useState(selectedFormType)  

这是一个更好的选择

但是上面的代码不会调用
selectedFormType
,而只是返回它。因此,我认为这只是一个错误,而不是故意的懒惰初始化。
()=>selectedFormType
在初始渲染时由react自身调用<如果
selectedFormType
是字符串,则code>previousFormType将是字符串。这不是一个错误,但您确实不需要创建回调来将
selectedFormType
作为初始值传递。但是上面的代码不调用
selectedFormType
,只返回它。因此,我认为这只是一个错误,而不是故意的懒惰初始化。
()=>selectedFormType
在初始渲染时由react自身调用<如果
selectedFormType
是字符串,则code>previousFormType将是字符串。这不是一个错误,但您确实不需要创建回调来将
selectedFormType
作为初始值传递。