返回

reactjs-更新嵌套的 React 状态?

发布时间:2022-07-30 05:44:27 275
# node.js

我正在尝试更新嵌套的状态对象的一部分。这是对象:

const [buttonObject, setButtonObject] = useState({
    intro: [
      {
        id: '123',
        name: 'first_intro_name',
        selected: false,
      },
      {
        id: '124',
        name: 'second_intro_name',
        selected: false,
      },
    ],
    experience: [
      {
        id: '789',
        name: 'first_experience_name',
        selected: false,
      },
      {
        id: '8910',
        name: 'second_experience_name',
        selected: false,
      },
    ],
  });

单击按钮时,我想切换选定状态。我正在使用如下所示的点击处理程序:

const handleButtonClick = ({ id, selected }) => {
    if (id === '123') {
      buttonsObject.intro.map(
        pref => (pref.selected = pref.id === id ? !pref.selected : selected)
      );
      setButtonsObject(buttonsObject);
    } else if (id === '124') {
      buttonsObject.intro.map(
        pref => (pref.selected = pref.id === id ? !pref.selected : selected)
      );
      setButtonsObject(buttonsObject);
    }
  };

它也会处理经验。问题是,现在它似乎不是更新对象,而是覆盖对象或创建一个新对象。即使我已正确路由它,它也不会将该信息传递回组件。

有没有更好/正确的语法来更新这样的嵌套状态?

谢谢。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(1)
按点赞数排序
用户头像
下一篇
powerbi-Power Bi - 非活动关系过滤 2022-07-30 03:57:35