如何在 React 状态下更新对象
我在 JS 对象(不是数组)中有一个 users
的索引列表.它是 React 状态的一部分.
I have an indexed list of users
in the JS object (not array). It's part of the React state.
{
1: { id: 1, name: "John" }
2: { id: 2, name: "Jim" }
3: { id: 3, name: "James" }
}
最佳做法是:
- 添加一个新用户 { id: 4, name: "Jane" },id (4) 作为键
- 移除 id 为 2 的用户
- 将用户 #2 的名称更改为Peter"
没有任何不可变的助手.我正在使用 Coffeescript 和 Underscore(所以 _.extend 没问题...).
Without any immutable helpers. I'm using Coffeescript and Underscore (so _.extend is ok...).
谢谢.
推荐答案
这就是我会做的
- 添加:
var newUsers = _.extend({}, users, { 4: { id: 4, ... } })
- 删除:
var newUsers = _.extend({}, users)
然后delete newUsers['2']
- 更改:
var newUsers = _.extend({}, users)
然后newUsers['2'].name = 'Peter'
- add:
var newUsers = _.extend({}, users, { 4: { id: 4, ... } })
- remove:
var newUsers = _.extend({}, users)
thendelete newUsers['2']
- change:
var newUsers = _.extend({}, users)
thennewUsers['2'].name = 'Peter'
相关文章