存储状态中的每个对象都应该是不可变的吗?
Should every object in the store state be immutable?
我正在学习 React.js 和 Flux,我知道最好保持对象不可变,因为比较它们的时间复杂度为 O(1)。
我的情况是这样的:我有一个商店,里面有一个 _state
对象,它是一个地图(我使用的是 Immutable-js)。 _state
有一些布尔值、一些字符串和一个数组。
数组有对象,都是不可变映射。
问题是,我应该使用不可变列表而不是数组吗?有什么好处?我不会将数组与另一个数组进行比较。
感谢阅读!
这取决于对象的设计。如果您要向列表中添加元素并处理返回的新的不可变集合,那么您需要不可变列表。否则,使用更轻量级的数组。
所以这更像是一个问题:你需要不可变列表吗?如果不是,请使用数组来减轻重量。
我正在学习 React.js 和 Flux,我知道最好保持对象不可变,因为比较它们的时间复杂度为 O(1)。
我的情况是这样的:我有一个商店,里面有一个 _state
对象,它是一个地图(我使用的是 Immutable-js)。 _state
有一些布尔值、一些字符串和一个数组。
数组有对象,都是不可变映射。
问题是,我应该使用不可变列表而不是数组吗?有什么好处?我不会将数组与另一个数组进行比较。
感谢阅读!
这取决于对象的设计。如果您要向列表中添加元素并处理返回的新的不可变集合,那么您需要不可变列表。否则,使用更轻量级的数组。
所以这更像是一个问题:你需要不可变列表吗?如果不是,请使用数组来减轻重量。