React多层级对象改变值--immer

@reduxjs/toolkit底层就是immer,,,所以在使用redux的时候,直接赋值,就会响应式的数据

如果不使用@reduxjs/toolkit,可以自己使用immer来实现

  1. 安装immer
js 复制代码
npm install immer
  1. 引入produce函数,,produce回返回一个新的对象
js 复制代码
import {produce} from "immer"


  function changeStudentName(){
    console.log("click 1111")
    // produce会返回一个新的不可变的对象
    setStudent(produce(student,(draft)=>{
      draft.name ="wtf"
    }))
  }
相关推荐
一位搞嵌入式的 genius几秒前
深入 JavaScript 函数式编程:从基础到实战(含面试题解析)
前端·javascript·函数式
anOnion11 分钟前
构建无障碍组件之Alert Dialog Pattern
前端·html·交互设计
choke23319 分钟前
[特殊字符] Python 文件与路径操作
java·前端·javascript
云飞云共享云桌面22 分钟前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能
Deng94520131433 分钟前
Vue + Flask 前后端分离项目实战:从零搭建一个完整博客系统
前端·vue.js·flask
威迪斯特36 分钟前
Flask:轻量级Web框架的技术本质与工程实践
前端·数据库·后端·python·flask·开发框架·核心架构
wuhen_n1 小时前
JavaScript内置数据结构
开发语言·前端·javascript·数据结构
大鱼前端1 小时前
为什么我说CSS-in-JS是前端“最佳”的糟粕设计?
前端
不爱吃糖的程序媛1 小时前
Capacitor:跨平台Web原生应用开发利器,现已全面适配鸿蒙
前端·华为·harmonyos
AC赳赳老秦1 小时前
2026国产算力新周期:DeepSeek实战适配英伟达H200,引领大模型训练效率跃升
大数据·前端·人工智能·算法·tidb·memcache·deepseek