用新列表替换immutable.js列表

时间:2016-09-27 22:05:22

标签: javascript list reactjs flux immutable.js

我正在学习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)

0 个答案:

没有答案