javascript - 使用 for-each 和 props 更改状态值

标签 javascript reactjs react-hooks

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" });
        }
    });
}

我从页面发送 Prop 到这里, 我想将这些 Prop 插入我的数组中,如果这些 Prop 在我的导航中,我也想让它们的值处于事件状态,

我的 Prop 已成功添加到数组,但我不会更改它们的值,如何解决此问题

最佳答案

不要在每次迭代中更新您的状态。首先将所有这些 nav:val 对添加到副本中。所有迭代完成后,将该副本设置为您的状态。

关于javascript - 使用 for-each 和 props 更改状态值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60377946/

相关文章:

reactjs - 初始化reactjs useState useTracker Subscriptions Form state meteor 之前无法访问___

javascript - 在 React 功能组件中多次调用函数

reactjs - React Router v6 - 访问嵌套路由和处理手写 url 的正确方法

javascript - AngularJS 切换按钮过滤器

javascript - 仅动态删除特定元素中的字母,并将其包装在 SPAN 中

javascript - 单击链接时防止网页滚动到顶部

javascript - React 未处理的拒绝(TypeError): Cannot read property 'state' of undefined

javascript - 鼠标悬停在 React 中

javascript - 无论 componentWillUnmount 如何,组件内部的 setTimeout 都会被调用

reactjs - react 钩子(Hook) : is `useCallback` not so needed usually?