У меня есть компонент с методом componentDidMount()
, который получает информацию с сервера следующим образом:
componentDidMount() {
this.getAccount();
}
getAccount = async () => {
try {
this.res = await API.get(`account`, {});
this.props.setData(this.res.data);
} catch (err) {
this.props.history.push(`/add`);
}
}
И у меня есть редуктор, который хранит информацию:
const initialState = {}
const accountReducer = (state = initialState, action) => {
if (action.type === 'SET_ACCOUNT_DATA') {
return action.data;
} else {
return state;
}
}
export default accountReducer;
Но мойкомпонент не рендерится после выполненного действия.Зачем?Мой код действия:
export const setData = (data) => {
return {
type: 'SET_ACCOUNT_DATA',
data
}
}
Пожалуйста, помогите, что я делаю не так?
ОБНОВЛЕНИЕ: Мои методы карты:
const mapStateToProps = (state) => ({
})
const mapDispatchToProps = (dispatch) => {
return {
setData: (data) => {
return dispatch(setData(data));
}
}
}
export default connect(mapStateToProps, mapDispatchToProps)(Account);
Му действие import
правильно.Проверено.