2017-11-17 5 views
0

私はreduxストアに書籍のリストを書き込もうとするconnect()edコンテナコンポーネントがあります。アクション作成者は小道具として利用可能であり、州は小道具にマップされていますが、本リストは決して還元店には届きません。 readingListはbookArray(アクション作成者の渡した引数)の代わりにnullです。誰かがここで問題を見つけることができますか?ここに関連性のあるスニペットが含まれています:ReducerがReduxストアに書き込まない

import { setReadingList } from '../actions/index'; 

componentWillMount() { 
    this.props.setReadingList(bookArray); 
} 

function mapStateToProps(state) { 
    return { 
    readingList: state.readingList 
    } 
    } 

function mapDispatchToProps(dispatch) { 
    return bindActionCreators({ setReadingList : setReadingList }, dispatch); 
    } 

export default connect(mapStateToProps, mapDispatchToProps)(ReadingList); 

/*-----------*/ 

./actions/index.js 

export function setReadingList(readingList) { 
    return { 
     type : "SET_READINGLIST", 
     payload : readingList 
    }; 
    } 

/*-----------*/ 

./reducers/index.js 

import { combineReducers } from 'redux'; 
import readingList from './reading_list'; 

export const rootReducer = combineReducers({ 
    readingList 
}); 
export default rootReducer; 

/*-----------*/ 

./reducers/reading_list.js 

export default function(state = null, action) { 
    switch (action.type) { 
    case "SET_READINGLIST": 
     return action.payload; 
    default: 
     return state; 
    } 
} 

ありがとうございます!

+0

このレデューサーをルートレデューサーに組み合わせていますか? –

答えて

0

componentWillMountではなく、componentDidMountでsetReadingListを呼び出してみてください。またbookArrayが有効であることを保証しますか?

関連する問題