在我的应用程序中有一个带有特征切片的商店:
@NgModule({
imports: [
CommonModule,
TranslateModule.forChild({}),
StoreModule.forFeature('slice', slice)
...
})
特征的 Reducer Map:
export const slice: ActionReducerMap<SliceState> = {
someReducer
};
和特征选择器:
export const selectSliceModule = createFeatureSelector<SliceState>('slice');
export const selectItem = createSelector(selectSliceModule,
(state: SliceState) => state.someReducer.paramA);
有一个注销操作,在注销后清除主存储,slice
注销后也是如此slice === null
。
使用选择器订阅特征存储切片的组件selectItem
然后失败,因为state.someReducer
它是 null: state.someReducer.paramA
。
我的问题是:在这种情况下可以在选择器中使用三元运算符吗?它会破坏选择器记忆吗?或者有没有更好的方法来处理这种情况?
// Is it OK to have ternary operator in selector?
export const selectItem = createSelector(selectSliceModule,
(state: SliceState) => state.someReducer ? state.someReducer.paramA : null);