React store Rematch

Rematch

typescript 复制代码
import { init, RematchDispatch, RematchRootState } from '@rematch/core';
import selectPlugin from '@rematch/select';
import persistPlugin from '@rematch/persist';
import sessionStorage from 'redux-persist/lib/storage/session';
import models from './models';

const persistConfig = {
    key: 'root',
    storage: sessionStorage,
    // 	保留缓存白名单
    whitelist: []
};
const store = init({
    models,
    plugins: [
        selectPlugin(),
        persistPlugin(persistConfig)
    ],
});
// store 初始化

export const { select } = store;

export default store;

store

typescript 复制代码
export default {
common: {
	state,
	reducers: {
		setData(state, payload) {
			retrun {..state, ...payload}
		}
	},
	effects: dispatch => ({
		init (payload) {
		}
	})
	// or rootState 
	effects: {
		init(payload, rootState) {}
	}
}

存取

typescript 复制代码
import { useDispatch, useSelector } from 'react-redux';
const dispatch = useDispatch();
const common = useSelector(state => state.common);

dispatch.common.init();
相关推荐
喝水的长颈鹿1 分钟前
【大白话前端 02】网页从解析到绘制的全流程
前端·javascript
明君879972 分钟前
Flutter 实现 AI 聊天页面 —— 记一次 Markdown 数学公式显示的踩坑之旅
前端·flutter
用户14536981458784 分钟前
VersionCheck.js - 让前端版本更新变得简单优雅
前端·javascript
米饭同学i5 分钟前
微信小程序实现随机撒花效果
前端
Arthur14726122865476 分钟前
模块化和组件化的区别
前端
codingWhat8 分钟前
整理「祖传」代码,就是在开发脚手架?
前端·javascript·node.js
臣妾没空18 分钟前
里程碑5:完成框架npm包抽象封装并发布
前端·npm
Wect19 分钟前
LeetCode 210. 课程表 II 题解:Kahn算法+DFS 双解法精讲
前端·算法·typescript
cxxcode23 分钟前
搞懂 JS 异步的底层真相:从 V8 源码看微任务与宏任务
前端
欧阳的棉花糖23 分钟前
React 小误区:派生值 vs useEffect
前端