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) }));

 

posted on 2022-06-17 17:04  漫思  阅读(381)  评论(0编辑  收藏  举报

导航