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"
    }))
  }
相关推荐
前与端1 分钟前
深入理解JavaScript的事件循环(Event Loop)
javascript
于慨2 分钟前
uniapp上传文件
前端·uni-app
星眠2 分钟前
手写发布订阅设计模式
javascript·设计模式·面试
安然dn4 分钟前
极简实战:React + Vue 微前端(Qiankun + Vite)
前端·vue.js
Electrolux6 分钟前
使用 Semantic Release 实现 NPM 全自动发版 monorepo 和 单仓库 项目
前端
lichenyang4536 分钟前
Javascript模块化与Async语法糖
前端
北京_宏哥10 分钟前
🔥Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
前端·python·面试
YGY_Webgis糕手之路12 分钟前
Cesium 快速入门(十二)数据加载详解
前端·gis·cesium
小高00714 分钟前
别让主线程累成狗!——带你 10 分钟撸一个 Web Worker,让浏览器偷偷开外挂
前端·javascript·面试
一只开心鸭!15 分钟前
vue+elementui实现问卷调查配置可单选、多选、解答
javascript·vue.js·elementui