2016-09-10 61 views
0

ExamplemergeDeepIn()推一個新項目在immutable.js

什麼是推新的項目number的最佳方式列表,這是一個列表?

var data = {group:{number:[111,222,333]},status:'okay'} 
var state = Immutable.fromJS(data) 
state = state.mergeDeepIn(['group','number'],[444]) 
console.log(JSON.stringify(state.toJS())) 

當你在控制檯中看到,輸出變爲:

{"group":{"number":[444,222,333]},"status":"okay"} 

爲什麼mergeDeepIn()444取代第一項111?我認爲這將追加444像這樣現有的列表:

{"group":{"number":[111,222,333,444]},"status":"okay"} 

回答

1

合併更新與合併列表的當前值的索引。

您有:[111, 222, 333][444],這裏

[0] = 111[0] = 444給出結果列表 作爲[444, 222, 333]它合併。

此外,mergeDeepIn是包裝在updateIn(與mergeDeep組合) - 更多細節here