美文网首页
rdux加持久化存储

rdux加持久化存储

作者: 43e1f527c136 | 来源:发表于2023-04-18 09:10 被阅读0次

安装rdux和redux-persist

npm i rdux npm i readux-persist

取值时

1.引入仓库

import { store } from '@/store'

const store=store.getSate()

修改时

 store.dispatch({

          type: IUserActionType.CHANGE,

          payload: { token: res.data.token }

        })

模块化存储rdux

创建store文件

里面创建index.tsx

import { createStore } from "redux";

import han from './reducers';

//配置数据的持久化效果

import { persistReducer, persistStore } from "redux-persist";

//导入需要配置的数据源,可以选择,storage,cookie,session等

import storage from "redux-persist/lib/storage";

// let store=createStore(han)

//定义配置的信息

const persitConfig = {

    key:"root",

    storage:storage,

   // 如果不想将部分state持久化,可以将其放入黑名单(blacklist)中.黑名单是设置

//   blacklist: ['ll']

}

//创建持久化的配置persist的信息

const persist_reducers = persistReducer(persitConfig,han);

//创建存储对象并且抛出对象

const store = createStore(persist_reducers);

const persistor =  persistStore(store);

export { store, persistor };

//创建文件 reducers 并创建index.tsx

import { combineReducers } from "redux";

import user from "./user";

export default combineReducers({ user });

//并创建文件use并创建index.tsx

export interface IUser {

    name: string;

    token: string;

  }

  export interface IUserState {

    user: IUser;

  }

  const initUserState: IUserState = {

    /* state默认值 */

    user: {

      name: "普通用户",

      token: "",

    },

  };

  export enum IUserActionType {

    /* Actions */

    INIT,

    CHANGE,

  }

  const user = (

    state: IUserState = initUserState,

    action: { type: IUserActionType; payload: any }

  ) => {

    const { payload } = action;

    switch (action.type) {

      case IUserActionType.INIT:

        return state;

      case IUserActionType.CHANGE:

        return { ...state, user: { ...state.user, ...payload } };

      default:

        return state;

    }

  };

  export default user;

相关文章

  • prometheus+influxdb+grafana

    使用influxdb 作为prometheus持久化存储和使用mysql 作为grafana 持久化存储的安装方法...

  • iOS数据持久化

    Title: iOS数据持久化 ##数据持久化概念 数据持久化就是将内存中的数据模型转换为存储模型,以及将存储模型...

  • reactnative 数据持久化(一)

    rn 数据持久化 数据持久化 data 》 手机存储空间 rn rn中比较常用的数据持久化存储方式有两种: Asy...

  • redis-05-持久化

    [TOC] 1 Redis持久化 持久化,顾名思义就是将数据存储到存储介质中。Redis 提供了不同级别的持久化方...

  • 第六章 数据存储全方案,详解持久化技术

    6.1持久化技术简介 持久化是将内存中的数据存储在存储设备的过程.Android提供文件存储,SharedPref...

  • iOS 开发技术选型之数据库:SQLite vs. Core D

    持久化方案 在 iOS 开发中,数据持久化存储是一个很常见的需求。所谓持久化存储,就是将数据存到硬盘,使得应用重启...

  • 持久化存储

    一、理解存储卷 Volume(存储卷)是Pod中能够被多个容器访问的共享目录。解决了容器崩溃时文件丢失(容器中的文...

  • iOS数据存储

    iOS数据存储 持久化存储 概述: 持久化存储——将数据保存在硬盘里,当应用程序重启后可以访问到之前存储的数据。是...

  • HDFS内存存储 LAZY_PERSIST

    hdfs内存存储的策略是异构持久化(LAZY_PERSIST),在内存存储新数据的同时,持久化先前存储的数据,新的...

  • 对象持久化和数据序列化

    对象持久化(Persistence) 对象持久化就是将对象存储在可持久保存的存储介质上,例如主流的关系数据库中。 ...

网友评论

      本文标题:rdux加持久化存储

      本文链接:https://www.haomeiwen.com/subject/trdvddtx.html