lodash的fp.set及fp.update等方法也是immutable的,还有必要使用immutable.js等之类的库么?
在项目中经常使用会lodash.fp,fp自带immutable的特性,所以只使用fp.set及fp.update等方法来实现不可变的数据结构,而不使用immutable.js等之类的库的做法好吗,是否有欠缺考虑的地方?
相关代码如下:
const fp = require('lodash/fp');
const a = [{a:1},{a:2}];
const a1 = fp.update('[0]',(n)=>2,a);
console.log('_______a-a1');
console.log(a);
console.log(a1);
console.log(a[0]===a1[0]);
console.log(a[1]===a1[1]);
const a2 = fp.set('[0]','3',a);
console.log('_______a-a2');
console.log(a);
console.log(a2);
console.log(a[0]===a2[0]);
console.log(a[1]===a2[1]);
输出
_______a-a1
[ { a: 1 }, { a: 2 } ]
[ 2, { a: 2 } ]
false
true
_______a-a2
[ { a: 1 }, { a: 2 } ]
[ '3', { a: 2 } ]
false
true
在没有找到其他弊端的情况下,我觉得只使用fp至少有以下一点好处:
1.减少代码量
所以,我特别想知道这种做法是否是一种最佳实践.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论