我有一个从DB获取值的useState:
const [checklist, setChecklist] = useState(undefined);
我有这样一个条件,当发生时,我想改变useState:
let newItems = [];
let newChecklist = {};
if (project?.analysisData?.actionPlan == "no") {
newItems = checklist?.items?.filter(
(item) => item.conformityStatus !== "initial_status"
);
newChecklist = { ...checklist, items: newItems };
}
请注意,这些项已被筛选。
我尝试用useEffect修改useState的值:
useEffect(() => {
setChecklist(newChecklist);
}, []);
但不知为何它没有改变...有人能帮我吗?非常感谢!
1条答案
按热度按时间iqxoj9l91#
我创建了一个新的useState:
名为setTimeout,用于在组件装载后强制执行某些“更改”:
调用useEffect来改变我的新useState:
也许这不是最好的解决方案,但这是我想出的解决问题的方法:)