Я относительно новичок, чтобы реагировать, и я пытаюсь использовать избыточность в качестве центрального хранилища данных для моего приложения.Моя проблема в том, что когда я получаю данные и после того, как данные успешно добавляются в хранилище, мой компонент не обновляется.В приведенном ниже примере loading
всегда отображается на странице.вызов store.getState().schools
возвращает массив из 3 объектов, что подтверждается оператором console.log
.Как я могу преодолеть это?
Компонент:
export default class SchoolsContainer extends Component {
displayName = SchoolsContainer.name;
constructor(props){
super(props);
}
componentDidMount = () => {
axios.get('https://localhost:44398/api/schools')
.then(response => {
response.data.forEach(school => {
store.dispatch(addSchool(school));
})
console.log(store.getState().schools);
console.log(this.props.schools);
})
.catch(err => {
console.log("err", err);
});
};
render(){
if(this.props.schools != null && this.props.schools.length > 0) {
return <Schools schools={store.getState().schools} />
}
else{
return (<div>loading</div>);
}
}
}
const mapStateToProps = function(state) {
return {
schools: state.schools
}
}
export default connect(mapStateToProps)(SchoolsContainer);