javascript - 如何仅在具有相同 ID 时修改状态

标签 javascript reactjs

editItem = (id) => {
    this.setState(
      {
        lanche: [
        {
          id: id,
          editItem: true
        }]
      }
    )
  }

这样,setState运行在数组中的所有项上,我只需要编辑具有相同ID的项

最佳答案

您需要在数组中找到具有给定 id 的项目,并仅修改该项目。 setState 方法使用给定的键更改整个对象。

试试这个:

editItem = (id) => {
    this.setState(
      {
        lanche: this.state.lanche.map(item => {
           if(item.id === id) {
            item.editItem = true
           }
           return item;
        })
      }
    )
 }

关于javascript - 如何仅在具有相同 ID 时修改状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55092427/

相关文章:

reactjs - 在 react 上安装 quilljs-markdown

reactjs - 向我的 React 应用程序添加字体很棒的图标

javascript - 复选框在 react js 中不起作用

javascript - 我如何将键插入 js 数组以转换为 json

javascript - 如何使用 webgl/two.js 创建带有选择的基本菜单栏?

javascript - Sharepoint 2013 中的事件单击单选按钮 JQuery

javascript - 图像尺寸奇怪

javascript - 没有正文无法转换节点

reactjs - 避免在 React js 中从 "input"或 "textarea"不断重新渲染

javascript - email() 不是通过 onclick 属性实现的函数