2017-10-11 12 views
-2

reduxでエラーが発生しました:action.typeは未定義です。私は私の行動のいずれかに絞らました:だから action.type reduxで未定義

...

export function LOAD_PRODUCTS() { 
    axios.get('http://localhost:3000/api/products') 
    .then((res) => { 
     return (dispatch) => { 
      dispatch({type: 'PRODUCTS_LOADED', payload: res}) 
     } 
    }) 
    .catch((err) => { 
     return (dispatch) => { 
      dispatch({type: "PRODUCTS_ERROR", payload: err}) 
     } 
    }) 
} 

または多分リデューサー

export function reducer(
    state = { 
     fbkey: '', 
     userSuccess: null, 
     cart: [], 
     nav: null, 
     tab: true, 
     error: {}, 
     loading: false, 
     products: [] 
    }, action) { 


    switch (action.type) { 
      case "FBTOKEN": { 
      return { 
       ...state, 
       fbkey: action.payload 
      } 
      } 

     case "NAV_OPEN" : { 
      return { 
       ...state, 
       nav: true 
      } 
     } 

     case "NAV_CLOSE" : { 
      return { 
       ...state, 
       nav: false 
      } 
     } 

     case "USER_SUCCESS" : { 
      return { 
       ...state, 
       userSuccess: true 
      } 
     } 

     case "USER_ERROR" : { 
      return { 
       ...state, 
       userSuccess: false 
      } 
     } 

     case "ADD_TO_CART" : { 
      return { 
       ...state, 
       cart: action.payload 
      } 
     } 
     case "TAB_CLOSE": { 
      return { 
       ...state, 
       tab: action.payload 
      } 
     } 

     case "TAB_OPEN": { 
      return { 
       ...state, 
       tab: action.payload 
      } 
     } 

     case "PRODUCTS_LOADED": { 
      return { 
       ...state, 
       products: action.payload 
      } 
     } 

     case "PRODUCTS_ERROR": { 
      return { 
       ...state, 
       error: action.payload 
      } 
     } 

     case "IS_LOADING": { 
      return { 
       ...state, 
       loading: action.payload 
      } 
     } 

     case "IS_NOT_LOADING": { 
      return { 
       ...state, 
       loading: action.payload 
      } 
     } 

     default: { 
      return { 
       ...state 
      } 
     } 
    } 
} 
を、何とか種類が正しく返されていません。どうすれば修正できますか?

EDIT:サンクはここで使用されています。また、リデューサコードを追加しました。ディスパッチ関数を返すこともできません。多分それには関係がありますか?

答えて

1

あなたは発送がエラーが続く何らかの理由コード

export function LOAD_PRODUCTS() { 
    axios.get('http://localhost:3000/api/products') 
    .then((res) => { 
     return (dispatch) => { 
      return dispatch({type: 'PRODUCTS_LOADED', payload: res}) 
     } 
    }) 
    .catch((err) => { 
     return (dispatch) => { 
      return dispatch({type: "PRODUCTS_ERROR", payload: err}) 
     } 
    }) 
} 
+0

下回ってみ返却する必要があります。 – Quesofat

+0

あなたのレデューサーコードも貼り付けることができますか? – Gautam

+0

私はそれをしました。ありがとうございました。 – Quesofat

関連する問題