首页 > 解决方案 > 商店没有有效的减速器。确保传递给 combine reducers 的参数是一个其值为 reducers 的对象

问题描述

当我在 android 设备中运行我的 React Native 代码时,出现以下错误。

“Store 没有有效的减速器。确保传递给 combineReducers 的参数是一个其值为减速器的对象。”

这是我的 authReducer.js 和 rootReducer.js 请帮我解决这个问题。我也在这个项目中使用 redux-persist。谢谢..

//authReducer.js

import { createReducer } from "reduxsauce";
import {
  LOG_IN_USER,
  LOG_IN_USER_SUCCESS,
  LOG_IN_USER_FAILURE
} from "../actions/Auth.actions";

export type AuthState = {
  authData: ?AuthData,
  isLoading: boolean,
  authError: any,
  isSigningOut: boolean,
  signoutError: any,
  isLoggingIn: boolean,
  loginError: any
};

export const INITIAL_STATE: AuthState = {
  authData: null,
  isLoading: false,
  authError: null,
  isSigningOut: false,
  signoutError: null,
  isLoggingIn: false,
  loginError: null
};

export const loginUser = (
  state: AuthState = INITIAL_STATE,
  { payload: UserLoginData }
): AuthState => {
  return {
    ...state,
    isLoggingIn: true
  };
};

export const loginUserSuccess = (
  state: AuthState = INITIAL_STATE,
  { payload: { data } }
): AuthState => {
  return {
    ...state,
    isLoggingIn: false,
    authData: data,
    loginError: null
  };
};

export const loginUserFailure = (
  state: AuthState = INITIAL_STATE,
  { payload: error }
): AuthState => {
  return {
    ...state,
    isLoggingIn: false,
    loginError: error
  };
};

const ACTION_HANDLERS = {
  [LOG_IN_USER]: loginUser,
  [LOG_IN_USER_SUCCESS]: loginUserSuccess,
  [LOG_IN_USER_FAILURE]: loginUserFailure
};

export default createReducer(INITIAL_STATE, ACTION_HANDLERS);

//rootReducer.js

import {combineReducers} from 'redux';

import authReducer from '../modules/auth/reducers/reducer'

export default rootReducer = combineReducers({
  auth: authReducer
})

标签: androidreact-nativereduxreact-redux

解决方案


推荐阅读