我正在重构一些打字稿代码,对我来说似乎是一个错误:
const [previousFormType, changePreviousFormType] = useState<string>(() => selectedFormType)
我不确定代码是否正常工作,为什么有人会这样做呢?我没有找到任何说明该参数可以是回调函数的规范
我希望将其更改为:
const [previousFormType, changePreviousFormType] = useState(selectedFormType)
selectedFormType是一个字符串
答案 0 :(得分:4)
如果初始状态是昂贵的计算结果,则可以使用回调来设置初始状态。有关更多信息,请参见documentation。
您的两个示例都是等效的,但就您而言
const [previousFormType, changePreviousFormType] = useState(selectedFormType)
是更好的选择。