Я испытываю странную проблему, когда изменение состояния в моем хранилище Redux достигает родительского компонента, но не передается в дочерний компонент представления.
Упрощенная версия кода выглядит так:
class MyParentComponent extends Component {
render() {
return(
<div>
<MyChildComponent files={this.props.selectedFiles} />
</div>
);
}
}
function mapStateToProps(state, ownProps) {
debugger; // I see that state change reaches here!
return {
id: ownProps.id,
id2: ownProps.id2,
selectedFiles: state.files.selectedFiles
}
}
function mapDispatchToProps(dispatch) {
return {
actions: bindActionCreators(myActions, dispatch)
};
}
export default connect(mapStateToProps, mapDispatchToProps)(MyParentComponent);
Обратите внимание на debugger
, который я поместил внутри mapStateToProps
.Я подтверждаю, что могу видеть изменение состояния, в котором у меня есть debugger
, что означает, что все работает до этого момента, то есть создатель действий, хранилище редуксов и т. Д.
Я также подтвердил, что мой дочерний компонент действительно получаетего данные из state.files.selectedFiles
.Я вручную поместил некоторые фиктивные данные в массив selectedFiles
в моем редукторе files
, и мой компонент отобразил их правильно.
Как я уже говорил, изменение состояния достигает родительского компонента, но не дочернего компонента.
Есть идеи, что здесь может происходить?