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对添加到副本中。在所有迭代完成之后,将该副本设置为您的状态。

09-25 17:45