Angular 2与ngrx / store:如何在reducers之间共享数据?

时间:2016-08-14 20:35:20

标签: angular redux ngrx

我的应用中有一个简单的列表组件。我希望列表项可以选择。所以我的申请状态如下:

AppState {
    items: Array<Item>,
    selected: Array<Identifier>
}

我的引导:

bootstrap(AppComponent, [
    provideStore({
        items: ItemsReducer,
        selected: SelectedReducer
    })
]);

List的行为很简单。单击 - 项目的ID添加到选定的阵列,其他项目被清除。 Ctrl +单击 - 项目ID添加到选定阵列,其他保留。使用当前结构很容易实现。

但我也希望能够使用Shift + Click选择一系列项目 - 在这种情况下,也应该选择最后选择的项目和当前项目之间的所有项目。要做到这一点,我不仅要知道当前项目,还要知道最后选择的项目,并且可以访问列表以查找它们之间的项目。但显然我无法访问items中的SelectedReducer

那我怎么能这样做?我是否应该考虑重构我的商店,因此itemsselected将在一个州对象中?或者使用redux-thunk(看起来像是矫枉过正)?还有其他选择吗?

0 个答案:

没有答案