我正在学习Immutable.js,并使用以下元素创建了一个不可变列表:
[
{
"name":"Person 1",
"address":"Street 1",
"city":"Barcelona"
},
{
"name":"Person 2",
"address":"Street 2",
"city":"Oslo"
},
{
"name":"Person 3",
"address":"Street 3",
"city":"Tucson"
}
]
这些元素可以根据动作调用(我使用React和Flux模式),相应地更新状态。我目前需要的是用新列表更新上面的列表(保存在状态中),以便在调用我的动作时,我得到一个新列表。更清楚:
// output the above list
const details = this.state.customers.get('details')
// action to store my list.
// Should override the last one each time my list changes
clientAction.setNewCustomersData({details: details})
所以当我在render this.state.customers.get('details')
中调用我的状态时,它会输出我的新列表。我几乎可以肯定它是我失踪的一些东西,但我迷失了不可改变的待遇如何改变这种方式(因为它是不可思议的'#39;不可思议的' ;毕竟)。
编辑:
clientAction.setNewCustomersData({details: details})
globalState.mergeIn(['company', 'customers'], myAction.setNewCustomersData)