代码之家  ›  专栏  ›  技术社区  ›  user2024080

ngrx/store-“由于无法读取属性而引发错误”

  •  1
  • user2024080  · 技术社区  · 6 年前

    我正在执行 createFeatureSelector createSelector -但是得到一个错误 core.js:15714 ERROR TypeError: Cannot read property 'showProductCode' of undefined

    我用 "@ngrx/store": "^7.1.0",

    但无法找到问题所在。这是我的代码:

    import { Product } from "./../product";
    import * as fromRoot from "./../../state/app.state";
    import { createFeatureSelector, createSelector } from "@ngrx/store";
    
    export interface State extends fromRoot.State {
        products:ProductState
    }
    
    export interface ProductState {
        showProductCode : boolean;
        currentProduct : Product;
        products:Product[]
    }
    
    const initialState:ProductState = {
        showProductCode : true,
        currentProduct:null,
        products:[]
    }
    
    const getProductFeatureState = createFeatureSelector<ProductState>("product");
    
    export const getShowProductCode = createSelector(
      getProductFeatureState,
      state => state.showProductCode
    );
    
    export const getCurrentProduct = createSelector(getProductFeatureState, state => state.currentProduct);
    export const getProducts = createSelector(getProductFeatureState, state => state.products);
    
    
    export function reducer(state=initialState, action):ProductState {
        switch (action.type) {
            case "TOGGLE_PRODUCT_CODE":
                return {
                    ...state,
                    showProductCode : action.payload
                }
    
            default:
                return state;
        }
    }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Flignats    6 年前

    你这里有错别字:

    const getProductFeatureState = createFeatureSelector<ProductState>("product");

    “产品”是您定义的,您选择的是“产品”