Возникла проблема, когда состояние в mapDispatchToProps
, по-видимому, обновляется, однако компонент не выполняет повторную визуализацию, чтобы отразить эти изменения, даже если ...
- компонент презентатора правильно подключен кдействия избыточности (может успешно инициализировать реквизиты через
mapDispatchToProps
и вызывать функции mapDispatchToProps
, в любом случае) - редуктор редуктора, который обрабатывает вызванное действие избыточности, постоянно обновляет состояние (делаяя сомневаюсь, что это проблема (https://github.com/reduxjs/redux/issues/2190#issuecomment-271109542)), т.е. код редуктора выглядит так:
const initialState = {
session: {
...
toUpdate: {success: false, processing: false, message: ''},
...
},
someOtherStateSections: {...},
...
}
const sessionReducer = (state=initialState.session, action) => {
switch (action.type) {
...
case Types.ACTION_TO_HANDLE:
console.log(`REDUCER: ACTION_TO_HANDLE: check that state is being updating with intended values:\n${JSON.stringify(action, null, 2)}`)
return Object.assign({}, state, {toUpdate: {
success: action.success,
processing: action.processing,
message: action.message,
}})
...
}
}
const rootReducer = combineReducers({
session: sessionReducer,
...
})
export default rootReducer;
- После обновления с редуктора операторы логирования показывают, что
state
аргумент в функции mapStateToProps
обновляется, чтобы отразить эти изменения. Фрагмент кода выглядит как
const mapStateToProps = (state, ownProps) => {
console.log(`PickupLocationAnchorFormContainer: mapStateToProps: ${JSON.stringify(state.session.pickupLocationAnchorChangeStatus, null, 2)}`)
return {
toUpdate: state.session.toUpdate,
ownProps: ownProps,
}
}
const mapDispatchToProps = (dispatch,) => {
return {
someThunk: (some, inputs) => {
dispatch(someThunk(some, inputs))
},
}
}
const MyComponentContainer = connect(
mapStateToProps,
mapDispatchToProps
)(MyComponent)
export default MyComponentContainer
, но MyComponent
, похоже, не обновляет свой this.props.toUpdate
для обработкиобновленные значения хранилища редуксов.
Любые дальнейшие предложения по отладкеили рекомендованные решения будут оценены.