react 使用 valtio

安装

c 复制代码
npm i valtio

//好用的storage
npm i good-storage

使用

src目录下创建store文件夹,新增两个文件
index.js

js 复制代码
export * from './user'

user.js

js 复制代码
import { proxy,subscribe } from 'valtio'
import {useProxy} from 'valtio/utils'
import ss from 'good-storage'
const key = "USER_STORE"
const state = proxy(ss.get(key) || {
    token:'',
    info:{}
})

//持久化
subscribe(state, () =>{
    ss.set(key,state)
})

export function useUserStore(){
    return useProxy(state)
}

export const userActions = {
    setToken:async _token=>{
        state.token = _token
        await userActions.updateUserInfo()
        return state.info
    },
    setInfo:_info=>state.info = _info,
}
相关推荐
费曼学习法22 分钟前
React 18 并发模式(Concurrent Mode):Fiber 架构的终极进化
javascript·react.js
容智信息25 分钟前
AI Agent(智能体)的输出格式应该从 Markdown 转向 HTML吗?
前端·人工智能·rust·编辑器·html·prompt
_风满楼26 分钟前
TDD 进阶:换个角度看会议室预约
前端·javascript·github
Amy_yang27 分钟前
uni-app 安卓端纯前端预览 DOCX 的实现思路
前端·vue.js
x_y_28 分钟前
分享一个自己总结的前端开发skill~ requirement-to-delivery
前端·ai编程
梨子同志30 分钟前
CSS Grid
前端·css
子兮曰30 分钟前
SuperSplat 深度解析:7.6K Stars 的浏览器端 3D 高斯泼溅编辑器 — 在 Web 上编辑现实
前端·javascript·webgl
小徐_233339 分钟前
Wot UI v1 升级 v2?这份迁移指南帮你少踩坑!
前端·微信小程序·uni-app
xiangxiongfly91540 分钟前
Vue3 动态加载静态资源
前端·javascript·vue.js
子兮曰41 分钟前
whisper.cpp 深度解析:从边缘设备到实时语音识别
前端·c++·后端