为什么Redux-Saga在我的React Native应用程序中重置状态

时间:2019-03-30 22:04:22

标签: reactjs react-native redux redux-saga

我有一个传奇的观察者,例如:

export default function * root () {
  yield all([
    takeLatest(HoraBusaoTypes.GET_HORA_BUSAO, getHorasBusao)
  ])
}

因此,我put是要在此传奇中还原存储的数据,例如:

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函数中添加了render,发现数据已设置并重置:

Android emulator screenshot with console.warn error message

代码的哪一部分正在重置我的redux存储?

0 个答案:

没有答案