#reactjs #react-native #redux #redux-saga
#reactjs #react-native #redux #redux-saga
Вопрос:
У меня есть средство просмотра saga, подобное:
export default function * root () {
yield all([
takeLatest(HoraBusaoTypes.GET_HORA_BUSAO, getHorasBusao)
])
}
Итак, я put
сохраняю данные для redux в этой саге, например:
export function * getHorasBusao(action) {
yield put({ type: HoraBusaoTypes.TEST, nome: 'New York' });
}
И у меня есть редуктор (я использую reduxsauce
):
export const test = (state, action) => {
const { nome } = action;
return { ...state, nome };
};
export const reducer = createReducer(INITIAL_STATE, {
[Types.TEST]: test
})
Итак, я отправляю это действие в componentDidMount
:
componentDidMount() {
this.props.getHoras('Any city')
}
// -------------------------------------------------------------------
// redux map
function mapStateToProps(state) {
const { horaBusao } = state;
return {
nome: horaBusao.nome
}
}
function mapDispatchToProps(dispatch) {
return {
getHoras: (city) => dispatch({ type: 'GET_HORA_BUSAO', city })
}
}
Но данные не отображаются на странице, поэтому я добавил функцию console.warn
into render
и выяснил, что данные были установлены и сброшены:
Какая часть кода сбрасывает мое хранилище redux?