繁体   English   中英

redux-persist undefined 不是一个对象(评估'action.type')

[英]redux-persist undefined is not an object (evaluating 'action.type')

我在我的项目中使用 redux-persist 任何帮助我如何解决这个错误 我正在使用 Redux 和 ReactNative,我想用 reducer 创建一个商店并且,我在下面遇到错误,指向行'switch(action.type )'

我的还原

import { createStore } from 'redux';
        import { persistStore, persistReducer } from 'redux-persist'
        import AsyncStorage from '@react-native-async-storage/async-storage';
        import user from '../reducer/index';
        
        const persistConfig = {
         key: 'root',
        Storage: AsyncStorage,
        };
        
    
        const persistedReducer = persistReducer(persistConfig, user())
    
        export function user(
        state = {
        id: '',
        id_karyawan: '',
        name: '',
        tema: '',
        presensi: '',
        color: '',
        akun: '',
        },
        action,
        ) {
        switch (action.type) {
        case 'CHANGE/USER':
          return { ...state, ...action.payload };
         }
         return state;
        }`    
        export const store = createStore(user);
                
        export const persistor = persistStore(user);`

  

这是我的 app.js

 import React, { Component } from 'react'
    import { StyleSheet, Text, View } from 'react-native'
    import Router from './router';
    import { PersistGate } from 'redux-persist/integration/react';
    import { Provider } from 'react-redux';
    import { Store,persistor } from './redux/store/index';
    
    export default class App extends Component {
      render() {
        return (
        <Provider store={Store}>
          <PersistGate persistor={persistor} loading={null}>
         <Router/>
          </PersistGate>
        </Provider>
        )
      }
    }
    
    const styles = StyleSheet.create({})

这意味着在某些时候您正在调度undefined - 一个常见的原因可能是您的动作创建者之一缺少return语句 - 不幸的是您没有共享该代码。

一般来说,我想给你的反馈是你在这里写了一个非常过时的 Redux 风格——现代 Redux 不再使用switch..case减少 ACTION_TYPES、不可变的 reducer 逻辑、手写动作创建者或createStore而且只有 1 /4 作为结果的代码。 以及自 2019 年以来的所有内容。我强烈建议您遵循官方的 Redux 教程,因为不幸的是,许多外部教程已经过时了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM