setCurrentPageは、オブジェクトをグローバルストアのページオブジェクトに格納するだけです。だから私はそれを設定した後に右にアクセスしようとすると..遅延があり、オブジェクトが空であるように思える。しかし、私はconsole.log後にボタン内の同じオブジェクトをクリックして..それは人口が設定されています。Redux状態はすぐに更新されませんか?
私は知っていないreduxのラグがありますか?これを機能させるために私は何ができますか?それは...任意の助け
// initialState.js // my global redux store
playlist: {
currentPage: {}
}
// someComponent
let tempPage = new Page();
tempPage.controlNode = someAPItoGetControlNode(); //synchronous
this.props.actions.setCurrentPage(tempPage); //tempPage.controlNode contains object correctly
console.log(this.props.currentPage); //empty object. WHY???
// in some function in the same component i call in a button
function seeCurrentPage() {
console.log(this.props.currentPage); //works!
}
// reducer
case types.SET_CURRENT_PAGE: {
action.pageObj.selected = true;
return Object.assign({}, state, {currentPage: action.pageObj});
}
// action
export function setCurrentPage(pageObj) {
return { type: types.SET_CURRENT_PAGE, pageObj: pageObj };
}
Reduxのストアの更新同期のような
componentWillReceiveProps
機能でログは、何ができているを取得しますが、あなたのコンポーネントにはありません –@AlexeyTenので、私のコンポーネントの各行のコードは、その前の行を待たないでしょうか?それがあなたが意味することを確認できますか?どうすればこれを動作させることができますか? – user1189352
それは待っています。しかし、ストアと小道具は直接接続されていないため、店舗の変更はすぐに小道具に伝わらない –