问题描述
我有一个名为employee.js的组件。我使用此组件创建员工并更新员工。
我管理的状态为isUpdate
。
借助useEffect
钩子,我更改了isUpdate=true
。这意味着该组件可以作为更新组件。 isUpdate
的默认值为false。
我使用formik进行验证。
useEffect(() => {
if (props.location.state && props.location.state.update) {
// update
console.log('line 1')
getEmp(props.location.state.id);
console.log('line 2')
}
},[props.location.state,console.log('initial values',initialValues)]);
这是我的useEffect
钩子代码。请注意控制台日志中的“第1行”,“第2行”和“初始值”分别为一个。
我的问题是,甚至在line 1
之前都打印了初始值。因此,那时初始值是空的。但是这些值设置为formik形式。即使更改了初始值,它也不会反映在用户界面中。
我来自vuejs世界,并且是新来的。在vuejs中,它创建了生命周期挂钩。它先于任何事物运行。在这里,组件似乎甚至在useEffect钩子之前就已加载。
如何在反应世界中解决这个问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)