2016-10-08 35 views
0

我正在處理我的第一個React-Redux應用程序。調用mapStateToProps似乎會傳遞錯誤的狀態對象

這是我減速的代碼(我只有一個):

const CalculationsReducers = (state = {}, action) => { 
    switch (action.type) { 
     case CalculationsActions.LOAD_CALCULATIONS: 
      return Object.assign({}, state, { 
       calculations: [{ 
        id: 'abc', 
        name: 'test', 
        date: 'test', 
        status: 'in progress' 
       }] 
      }); 
     default: 
      return state; 
    } 
}; 

這是我的 'mapStateToProps' 功能的代碼,我用的connect()

const mapStateToProps = (s) => { 
    return { 
     calculations: s.calculations ||[] 
    }; 
}; 

使用當我派遣一個類型爲LOAD_CALCULATIONS的動作,我可以看到一個日誌追蹤(使用react-logger),但狀態對象對我來說似乎很陌生。有人能指出我的錯誤嗎?

log trace using react-logger

回答

0

工作流程對我來說很好。狀態對象看起來也很好,但您可能需要在導入Reducer以配置商店時更改別名,以使其更直觀。

在你的配置存儲文件:

import calculations from 'reducers/CalculationReducer'; 

請注意,它需要你CalculationReducer導出爲默認值。然後你會在狀態對象中看到calculations而不是CalculationReducer

我注意到你有一個​​隨着你的行動,但從來沒有得到處理減速機。如果你在狀態對象中需要它,那麼使用action.payload在reducer中處理它。

相關問題