ReactJS:从状态中的对象数组更新特定对象

石榴

所以,我有一个状态,users其中充满了来自后端的对象数组。比如说,我想从该数组中更新特定用户对象的详细信息,然后使用更新后的详细信息更新当前状态。我该怎么做?

我目前所做的是在更新请求成功后强制从服务器重新获取以再次更新状态,但我想知道是否有更好的方法来做到这一点而无需再次从服务器重新获取。

例如,在下面的代码中。我想更新第二个人的年龄。

state = {
  users: [
    {
      name: PersonOne,
      age: 1
    },
    {
      name: PersonTwo,
      age: 1
    }
  ]
}
伊霍尔拉夫斯

假设id您的对象中字段。您可以使用map函数返回新数组并将其保存到您的状态。

updateUser(userId){
  const updatedUsers = this.state.users.map( (user) => {
        if(userId !== user.id) {
            return user;
        }
        return {
            ...user,
            //write some updated info here, for example:
            age: 40
        }
    }):  
    this.setState({
        users: updatedUsers
    }); 
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

反应:当状态是对象数组时更新状态

来自分类Dev

如何更新数组中特定对象的属性

来自分类Dev

使用reactjs数组中的对象

来自分类Dev

从子组件更新反应状态(对象数组)

来自分类Dev

如何从对象中的对象数组更新对象?

来自分类Dev

在Redux状态下更新每个对象中的特定属性

来自分类Dev

如何使用React更新数组中对象的状态?

来自分类Dev

在Redux中更新对象的状态

来自分类Dev

从api调用更新对象的状态数组

来自分类Dev

ReactJS从状态(对象数组)中删除项目

来自分类Dev

数组对象未更新状态

来自分类Dev

接收对象数组时更新反应状态

来自分类Dev

在ReactJs中更新数组中的嵌套对象

来自分类Dev

更新对象数组Postgres jsonb中的特定对象

来自分类Dev

更新数组中的特定对象

来自分类Dev

reactJs更新状态对象而不覆盖对象

来自分类Dev

在数组状态下更新属性对象reactJS

来自分类Dev

ReactJS - 在状态内更新对象时避免重置状态

来自分类Dev

在reactjs中迭代对象数组

来自分类Dev

更新嵌套在对象内部的数组状态(ReactJS)

来自分类Dev

REDUCER***如何更新数组中的特定对象?

来自分类Dev

数组中特定对象的设置状态

来自分类Dev

更新状态数组中的特定对象

来自分类Dev

在 Reactjs 中映射数组对象

来自分类Dev

如何更新作为对象数组的状态?

来自分类Dev

无法使用 RN 中的对象数组更新状态

来自分类Dev

删除数组 reactjs 中对象特定值的重复项

来自分类Dev

从状态数组中删除对象

来自分类Dev

更新数组中的特定对象