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}} –