初次使用react,发现一个小小的疑问。
如果我有一个组件,其state是个极其复杂的机构,比如
{ a:1,b:2,c:{ d:[ {e:1,b:2},{e:2,b:4}]}}
现在,我的d数组的第二个成员的e由2变为3,那么我怎么设置setState.
我当下的做法是:
step 1.克隆一个state;
step 2.强克隆的state中对应位置的e,改为3
step 3.调用setState(克隆的新的state )
问题:请问码友们,有没有更好的办法
可以直接使用react的immutability helpers
var update = require('react-addons-update');
var newData = update(this.state, {c: {d: {1: {e: {$set: 3}}}}});
this.setState(newData)
1.https://github.com/paularmstr...
2.https://github.com/facebook/i...
基本只有这两条路。
不用这么复杂,直接
1: this.state.c.d[2].e=3;
2: this.setState();