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