Tom*_*atz 3 ngrx ngrx-effects ngrx-store angular7
目前我使用的商店是功能模块的扁平结构,即:
{
feature_A: {
A:'A',
B:'B'
},
feature_B:{
C:'C',
D:'D'
}
}
Run Code Online (Sandbox Code Playgroud)
但我想做的是:
{
feature_A: {
A:'A',
B:'B',
feature_B:{
C:'C',
D:'D'
}
}
}
Run Code Online (Sandbox Code Playgroud)
也许类似:App.Module
StoreModule.forFeature('feature_A', fromFeature_A.feature_A_Reducers)
StoreModule.forFeature('feature_A.feature_B', fromFeature_B.feature_B_Reducers)
Run Code Online (Sandbox Code Playgroud)
在网上寻找这个问题的答案时,除了建议保持功能模块的扁平结构之外,并没有真正找到真正的答案。
小智 6
中的功能模块ngrx只是对象根的直接状态,因此实际上不存在嵌套功能模块的想法。
相反,您可以通过仍然将功能 B 的状态抽象到不同的文件(reducers、actions、effects...)中来完成类似的行为,但将其视为功能 A 的子状态。
然后,您可以创建一个选择器来专门访问功能 B 的状态:
const selectFeatureA = createFeatureSelector('feature_A');
const selectFeatureB = createSelector(selectFeatureA, (state) => state.feature_B);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2177 次 |
| 最近记录: |