当前位置: 首页 > news >正文

icejs状态管理store使用

src/models/user.ts

import { createModel } from 'ice';interface User {name: string;id: string;
}export default createModel({// 定义  model 的初始 statestate: {name: '',id: '',} as User,// 定义改变该 model 状态的纯函数reducers: {update(state, payload) {return {...state,...payload,};},},// 定义处理该 model 副作用的函数effects: (dispatch) => ({async getUserInfo() {this.update({name: 'taobao',id: '123',});},}),
})

src/store.ts

import { createStore } from 'ice';
import user from './models/user';export default createStore({ user });

在组件中使用:

import { useEffect } from 'react';
import store from '@/store';export default function Home() {const [userState, userDispatchers] = store.useModel('user');
// 这里跟官方的不太一样,有个坑useEffect(() => {const getUserInfo = async () => {await userDispatchers.getUserInfo()console.log(userState) //在这里第一次是拿不到数据的,经测试,从其他路由再返回过来,第二次才有数据。或者代码热更新时。}getUserInfo()}, [])// 操作userState数据需要在useEffect内// 添加一个监听useEffect(() => {console.log('userState已更新:', userState)}, [userState])return (<><span>{userState.id}</span><span>{userState.name}</span></>);
}

里面还有个坑,代码热更新store时就会报错,刷新后又正常了。还不知道什么原因。
在这里插入图片描述

参考:https://v3.ice.work/docs/guide/advanced/store#%E5%88%9D%E5%A7%8B%E5%8C%96-store

http://www.dtcms.com/a/422658.html

相关文章:

  • Web开发 20
  • GPU计算效率提升:混合精度训练、并行优化、量化与VLLM实践
  • 做新闻类网站建站公司排名 软通
  • wordpress js 统计网站的seo是什么意思
  • 实用Excel学习资料包(含操作+函数+图表教程)
  • 开源AI智能名片链动2+1模式S2B2C商城小程序在公益课裂变法中的应用与影响研究
  • # vim中给变量添加双引号
  • wps word添加水印
  • 软考-系统架构设计师 应用程序与数据库的交互详细讲解
  • 改bug的一些体会
  • 安全对齐到底是什么
  • 专业VBA代码优化服务邀约‌,OFFICE excel计算优化,wrod报表生成
  • 织梦门户网站源码下载平面设计师的培训机构
  • 2025 AI 消费端变革:从生活助手到体验重构的全民浪潮
  • 【VUECLI】node.js打造自己的前端cli脚手架工具
  • 磁共振成像原理(理论)15:空间信息编码 (Spatial Information Encoding) -频率编码相位编码
  • 磐石网站seo手机nfc网站开发
  • 命名视图学习笔记
  • CentOS7安装OpenStack云计算平台框架
  • PyCharm中搭建PyTorch和YOLOv10开发环境
  • 无人机开源项目
  • 查看网站建设时间如何免费做网站优化
  • UNIX下C语言编程与实践8-UNIX 静态库原理与创建:ar 命令的使用与静态库调用全流程
  • MATLAB用到的符号计算数学引擎
  • 精读C++20设计模式——结构型设计模式:组合模式
  • 做网站费用怎么入账新洲城乡建设局网站
  • Windows系统安装arm麒麟系统
  • ARMv8的异常处理
  • IA-静态路由
  • 圆柱电池气动点焊机的全场景应用|深圳比斯特自动化