3
在我的反應/終極版的應用程序,我使用這樣的事情在我的減速器設置狀態:immutablejs(反應/終極版),「推」到狀態不變
state.set('search', myResults);
狀態是immutablejs Map()
。當toJS()是在其上運行的對象(不再是一成不變的對象)的格式是像這樣:
{
results: { ..all results in here }
}
所以你必須state.search.results
。
這個工程很好,但我有一個場景,我需要「推」到這個地圖的搜索部分。我想合併會照顧這個,但它似乎並沒有按照我的設想工作。我曾嘗試:
state.mergeIn('search', singleResult);
以及
state.merge({ 'search': singleResult });
既不似乎工作。預期的結果是將該單個結果推入狀態Map()
(而不是像.set
那樣重寫它)。所以期望的結果會看起來像這樣:
{
results: { singleResult pushed or merged into here with other results }
}
我不確定如何做到這一點與immutablejs,任何意見將不勝感激。謝謝!
這個帳戶是否爲結果圖層?謝謝! – ajmajmajma
toJS也深轉換回JS,所以如果我有像Map({'a':List()})的結構,那麼它將轉換爲{a:[]}(如果我正確理解你的問題。)我猜你正在做state = Map({search:[results]}) - later:state.update('myanswerabove')然後在你的用戶界面或其他地方{results:state.toJS()}這將是{結果:{search:results with new singleResult}} –