【问题标题】:how can I access a specific index of an array in the setState method in ReactJs?如何在 ReactJs 的 setState 方法中访问数组的特定索引?
【发布时间】:2019-07-03 01:31:22
【问题描述】:

例如,如果一个状态是这样的

state={
   reports:[{name:'nadib',age:23},{name:'nadib2',age:24}]
}

如何使用 setState 方法将 nadib2 更改为 john?

【问题讨论】:

标签: javascript reactjs


【解决方案1】:

您可以使用functional setState 语法并使用map 创建一个副本,以防止当前状态发生突变。

然后在循环内部,如果您不想修改,则返回原始对象。对于您需要修改的对象,您可以使用三元运算符找到它并复制所有现有键,可选择修改其他键,如图所示。

this.setState(prevState => {
   return { 
            reports : prevState.reports.map(item => 
                       item.name === 'nadib2' ? ({...item, name: 'john'}) : item) 
          };
});

【讨论】:

    猜你喜欢
    • 2017-06-07
    • 2018-01-26
    • 2021-03-29
    • 1970-01-01
    • 2019-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-12
    相关资源
    最近更新 更多