调用 API 后的反应冗余导航



下面是我的化简器代码。

import * as Helper from '../utils/helper';
import AppNavigator from "../Navigation/navigationStack";
const initialState = { user: "" };
export function pedagogyReducer(state = initialState, action){
  switch (action.type) {
    case 'REGISTER':{
      state = {
        ...state,
        user: action.newUser,
        showError: action.showError ? action.showError : false,
        errorMessage: action.errorMessage ? action.errorMessage: "",
      }
      console.log(action.showError);
      {
        ////////here I want to redirect to login if response if success else want to show error message
      }
      if(!action.showError){
        AppNavigator.router.getStateForAction(
          AppNavigator.router.getActionForPathAndParams("Login")
        );
        return state;
      } else {
        return state;
      }
      break;
    }
    default:
    return state;
  }
}
export default pedagogyReducer;

不确定我应该从减速器或其他文件重定向到成功/错误屏幕。我使用了化简器,操作,中间件(获取API(和反应导航。

Reducer 应该是纯函数,所以这不是放置重定向逻辑的最佳位置。

一个帮助处理基于 Redux 操作的副作用的伟大库是 redux-saga,您应该查看他们的文档。

引用他们的网站:

Redux-Saga是一个库,旨在使应用程序的副作用(即异步事情,如数据获取和不纯的东西,如访问浏览器缓存(更易于管理,更高效地执行,易于测试,并更好地处理故障。

相关内容

  • 没有找到相关文章

最新更新