我目前正在研究React JS和React Native框架。在阅读关于Facebook的Flux和Redux实现的文章时,我遇到了Immutability或Immutable-JS库。
问题是,为什么不变性如此重要?突变对象有什么问题?它不是使事情变得简单吗?
举个例子,让我们考虑一个简单的新闻阅读器应用程序,其打开屏幕是新闻标题的列表视图。
如果我设置说最初具有值的对象数组,我将无法对其进行操作。这就是不变性原则的意思,对吗?(如果我错了,请纠正我。)但是,如果我有一个新的News对象必须更新怎么办?在通常情况下,我可以将对象添加到数组中。在这种情况下我该如何实现?删除商店并重新创建?是不是将对象添加到数组中的开销较小?
我认为赞成不可变对象的主要原因是保持对象的状态有效。
假设我们有一个名为的对象
arr
。当所有项目均为相同字母时,此对象有效。如果
arr
成为一个不变的对象,那么我们将确保arr始终处于有效状态。