const [nav, setNav] = useState({
firstPage: "active",
secondPage: "deactive",
navState: []
});
这是我在上下文中的状态,
const addNavi = (prop) => {
let CurrentNavigation = nav.navState;
if (!CurrentNavigation.includes(prop))
CurrentNavigation.push(prop);
setNav({ ...nav, navState: CurrentNavigation });
CurrentNavigation.forEach(function (val) {
if (val in nav) {
setNav({ ...nav, val: "active" });
}
});
}
我从页面发送道具到这里,
我想将这些道具推入我的数组,如果该道具在我的导航中,我也想使它们的值生效,
我的道具成功添加到数组中,但我不会更改其值如何解决此问题
最佳答案
不要在每次迭代中更新您的状态。首先将所有这些nav:val对添加到副本中。在所有迭代完成之后,将该副本设置为您的状态。