初始组件

问题描述

我的项目中有一个组件。在这个项目中,我有一个列表组件。在此组件中,当组件为Initial时,我需要使用此代码加载商店:

constructor(private store: Store<any>,private productService: ProductService) { }

  ngOnInit(): void {

      this.store.pipe(select('products')).subscribe(
    products => {
      if (products) {
        this.displayCode = products.showProductCode;
      }
    });
}

这是减速器:

    export function reducer(state,action) {
  switch (action.type) {

    case 'TOGGLE_PRODUCT_CODE':
      return {
        ...state,showProductCode: action.payload
      };

    default:
      return state;
  }
}

这是模块:

    StoreModule.forFeature('products',reducer)

,但是当我初始化组件时,它不会加载产品的储值,并且向我显示undefined。有什么问题 ?我该如何解决这个问题?

解决方法

将状态分配给减速器中的初始状态

//                            ???
export function reducer(state = initialState,action) {
  switch (action.type) {

    case 'TOGGLE_PRODUCT_CODE':
      return {
        ...state,showProductCode: action.payload
      };

    default:
      return state;
  }
}