В моем приложении React Native есть создатель действий, который отправляет действие для обновления состояния в хранилище Redux.Я вызываю этого создателя действия с помощью «await», а затем выполняю setState (), но я заметил, что хранилище Redux обновляется ПОСЛЕ завершения setState.Мой код выглядит следующим образом:
updateFunction = async () => {
await this.props.actionCreator1();
this.setState({property1: this.props.property1});
}
Я ждал отправки действия, потому что мне нужно обновить хранилище, прежде чем я установлюState ().Я, должно быть, неправильно понимаю, что возвращается и т.д., когда вы отправляете действие, потому что хранилище не обновляется до тех пор, пока не запустится setState ().Кто-нибудь может объяснить, почему это могло произойти?
Спасибо!
ОБНОВЛЕНИЕ
Так я связываю свое хранилище Redux с моим компонентом
const Component1 = connect(
state => ({
property1: state.Reducer1.property1
}),
dispatch => bindActionCreators({
actionCreator1: ActionCreators.actionCreator1
}, dispatch)
)(Component1)
Здесь я создаю создателя действий в actions.js
export const ActionCreators = {
actionCreator1: () => ({type: 'actionCreator1', property1: 'value'})
}
Здесь я сокращаю действия в reducer.js
const initialState = {
property1: undefined
}
export default (state = initialState, action) {
switch(action.type) {
case('actionCreator1'): {
return {
...state,
property1: action.property1
}
}
}
}