lodash的set方法操作
var object = { 'a': [{ 'b': { 'c': 3 } }] }; _.set(object, 'a[0].b.c', 4); console.log(object.a[0].b.c); // => 4 _.set(object, ['x', '0', 'y', 'z'], 5); console.log(object.x[0].y.z); // => 5
可以解决es6 深度属性无法赋值的问题
如何与immer库结合用
import { produce} from 'immer';
import _ from 'lodash'
this.state = { a: { b: 1 } } this.setState( produce((draft) => { _.set(draft, "a.b", 2) }));
漫思