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"
    }))
  }
相关推荐
鲨莎分不晴几秒前
Nginx 部署前端项目实战指南
运维·前端·nginx
码界奇点10 分钟前
基于Vue3与TypeScript的后台管理系统设计与实现
前端·javascript·typescript·vue·毕业设计·源代码管理
ashcn200115 分钟前
水滴按钮解析
前端·javascript·css
攀登的牵牛花15 分钟前
前端向架构突围系列 - 框架设计(五):契约继承原则
前端·架构
爱吃奶酪的松鼠丶22 分钟前
React长列表,性能优化。关于循环遍历的时候,key是用对象数据中的ID还是用索引
javascript·react.js·性能优化
xkxnq1 小时前
第二阶段:Vue 组件化开发(第 17天)
javascript·vue.js·ecmascript
豆苗学前端1 小时前
你所不知道的前端知识,html篇(更新中)
前端·javascript·面试
一 乐1 小时前
绿色农产品销售|基于springboot + vue绿色农产品销售系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·宠物
zzjyr1 小时前
Webpack 生命周期原理深度解析
前端
xiaohe06011 小时前
💘 霸道女总裁爱上前端开发的我
前端·游戏开发·trae