React + react-redux + redux-persist

今天我将redux合并redux以后发现每次调用store更新状态store会调用所有的reducer来,恰巧我将reducer的default 返回了一个false 。导致我在保存过程中一直给我存我default返回的数据希望大家不要采坑

Store源码

import {createStore, combineReducers, applyMiddleware} from 'redux'
import login from "./reducers/login";
import {persistStore, persistReducer} from 'redux-persist';
import storage from 'redux-persist/lib/storage';
import autoMergeLevel2 from 'redux-persist/lib/stateReconciler/autoMergeLevel2';
import thunk from "redux-thunk";
import permisssion from "./reducers/permission";
const persistConfig = {
    key: 'root',
    version:0,
    storage: storage,
    // debug: true,
    stateReconciler: autoMergeLevel2 // 查看 'Merge Process' 部分的具体情况
};
//合并状态
const allReducers = combineReducers({login,permisssion});
const myPersistReducer = persistReducer(persistConfig, allReducers);
const store = createStore(myPersistReducer,applyMiddleware(thunk));
export const persistor = persistStore(store)
export default store;

Reducers 源码 login 源码

import {offline_A,online_A} from "../add";
const defaultlogin = false;
function login(prestate = defaultlogin, action) {
    const {type, data} = action
    console.log("type"+type)
    console.log("type"+data)
    switch (type) {
        case online_A:
            return true;
        case offline_A:
            return false
        default:
        	//return false;
          return prestate;
    }
}
export default login;

index源码:

import React from 'react';
import ReactDOM from 'react-dom';

import App from './App';
import {BrowserRouter} from 'react-router-dom';
import store from "./redux/store";
import {persistor} from './redux/store';
import {Provider} from "react-redux";
import {PersistGate} from 'redux-persist/lib/integration/react';

ReactDOM.render(
    <BrowserRouter>
        <Provider store={store}>
            <PersistGate loading={null} persistor={persistor}>

                <App/>
            </PersistGate>
        </Provider>
    </BrowserRouter>
    ,
    document.getElementById('root')
);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值