lodash的fp.set及fp.update等方法也是immutable的,还有必要使用immutable.js等之类的库么?

发布于 2022-09-05 19:57:15 字数 794 浏览 48 评论 0

在项目中经常使用会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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文