Допустим, у меня есть два компонента: приложение и DialogBox;
, поэтому в моем хранилище реакций также есть два объекта
const rootReducer = combineReducers({
app: appReducer,
dialog: dialogReducer
});
export const store = createStore(rootReducer);
Теперь, когда мне нужно открыть диалоговое окно, я вызываю dialogBoxActions.openDialog()
И, когда я закрываю диалоговое окно, я вызываю dialogBoxActions.closeDialog()
, а также appActions.notifyDialogClosed()
;
Это работает, но есть ли способ сделать это более понятным способом?
Например, могу ли я использовать state.dialog из магазина в приложении? Это то, что я пробовал в приложении
const mapStateToProps = (state) => {
return {
checkCloseDialog: state.dialog.openDialog
}
}
ComponentWillReceiveProps
действительно получает объект checkCloseDialog, но получает старое состояние. Я отлаживал, чтобы узнать, что он запускается правильно после функции редуктора компонента DialogBox, но я получаю старые данные. друг друга через действия?