Я пытаюсь начать реагировать / редуцировать , используя шаблонный код из http://reactboilerplate.com, и до сих пор он работал отлично.
Я хочу обновить свое состояниеиз контейнера, и я отправляю вызов следующим образом:
// This is the method that should tigger the action
updateMoneyValue(newValue);
...
// Here I hope I set up everything correctly...
function mapDispatchToProps(dispatch) {
return {
updateMoneyValue: newMoneyValue =>
dispatch(updateMoneyValue(newMoneyValue)),
};
}
const withConnect = connect(
mapStateToProps,
mapDispatchToProps,
);
const withReducer = injectReducer({ key: 'counterPage', reducer });
const withSaga = injectSaga({ key: 'counterPage', saga });
export default compose(
withReducer,
withSaga,
withConnect,
)(CounterPage);
Я думал, что dispatch(updateMoneyValue(newMoneyValue))
должен на самом деле отправить действие и заставить его попасть в редуктор.Но на самом деле происходит следующее: когда я выполняю вызов в первой строке, моё действие срабатывает:
export function updateMoneyValue(moneyValue) {
console.log('Action has fired.');
return {
type: UPDATE_MONEY_VALUE,
moneyValue,
};
}
Но редуктор никогда не запускается:
function counterPageReducer(state = initialState, action) {
switch (action.type) {
case UPDATE_MONEY_VALUE:
console.log('Reducer was called.');
state.set('moneyValue', action.moneyValue);
return state;
default:
return state;
}
}
Я пытался найтирешение, но я действительно застрял на этом и был бы признателен за любую помощь!
С наилучшими пожеланиями, Аяка.