У меня есть следующая переменная state
и метод componentDidMount
для моего компонента:
state = {
categorized_items: []
}
componentDidMount() {
this.props.fetchItems()
// I'm trying to do the following
console.log('uncat_items: ', this.props.uncat_items)
this.setState({categorized_items: this.props.uncat_items})
}
render () {....}
function mapStateToProps({ items_reducer }) {
return {
uncat_items: items_reducer.uncat_items
}
}
Метод действия this.props.fetchItems()
извлекает несколько элементов и обновляет uncat_items
в хранилище с избыточностьюпросто отлично (я вижу ожидаемые значения переменной this.props.uncat_items
в методах рендеринга / других без проблем).Однако, что мне нужно сделать для этого конкретного случая, это сразу после выполнения метода fetchItems
и обновления uncat_items
в хранилище, мне нужно вызвать setState
и обновить categorized_items
в состоянии с помощью uncat_items
.Я знаю, что вызывать this.setState
в методе componentDidMount
, как это неправильно, но я не знаю, как это сделать.Как вы можете видеть, я попытался распечатать this.props.uncat_items
, но он возвращает пустой массив, даже если он выполнил метод действия и правильно обновил в редукторе.Может кто-нибудь, пожалуйста, дайте мне идею, как сделать это правильно?Как правило, после выполнения componentDidMount
задайте состояние с помощью определенной переменной из обновленного хранилища избыточных данных.