我正在创建一个工作列表。在这个作业列表中,我们有一个按钮来打开输入作业细节的模式。但是,当我将默认值的默认作业对象传递给该模式时,该模型无法显示默认作业值。
由于一些默认属性来自remote,所以在JobList组件中,我使用useEffect钩子从远程API检索数据。
你能告诉我发生了什么事吗?
我的代码位于这里。
发布于 2021-12-23 18:06:21
我检查了您的代码,有一个逻辑错误。
您需要在break;
中的addJob case语句之后添加JobList.js。
正因为如此,defaultJobObj将重命名为未定义的对象。
-增加
您需要处理defaultJobObj
组件中的JobForm支柱更新。
您可以定义一个钩子并在还原器中重新安装items
。
let reducer = (state, action) => {
let result = { ...state };
switch (action.type) {
case "reinit":
result.job = defaultJobObj;
break;
default:
break;
}
return result;
};
useEffect(() => {
updateItems({
"type":"reinit"
})
}, [defaultJobObj])
发布于 2021-12-23 18:01:13
也许您可以使用状态管理(如Redux/React上下文)将这些值传递给您的模式
https://stackoverflow.com/questions/70468878
复制