从0学习React(9)

ops/2024/10/30 23:02:20/

代码解析

const changeOrg = (orgId) => {queryData.orgId = orgId;delete queryData.deviceClassifyId;setQueryData(queryData);actionRef.current?.reset();loadTreeData(orgId);
};
1. const changeOrg = (orgId) => { ... };
  • 这是一个箭头函数(arrow function)的声明。
  • changeOrg 是函数的名称。
  • orgId 是函数的参数,表示新的组织机构 ID。
2. queryData.orgId = orgId;
  • 直接修改 queryData 对象的 orgId 属性,将其设置为新的 orgId
3. delete queryData.deviceClassifyId;
  • 使用 delete 运算符删除 queryData 对象的 deviceClassifyId 属性。
4. setQueryData(queryData);
  • 调用 setQueryData 函数,将更新后的 queryData 对象传递给它。
  • 假设 setQueryData 是一个用于更新查询参数的状态更新函数。
5. actionRef.current?.reset();
  • 使用可选链(optional chaining)运算符 ?. 来安全地访问 actionRef.current 对象的 reset 方法。
  • 如果 actionRef.current 存在,则调用其 reset 方法。
6. loadTreeData(orgId);
  • 调用 loadTreeData 函数,并传入新的 orgId 作为参数。
  • 假设 loadTreeData 是一个用于加载树形结构数据的函数。

使用的语法和概念

1. 箭头函数(Arrow Function)
  • 箭头函数是一种简洁的函数定义方式,语法为 const functionName = (params) => { ... };
  • 在箭头函数中,this 关键字的行为与普通函数不同,它不会绑定自己的 this,而是继承自外层作用域。
const changeOrg = (orgId) => { ... };
2. 对象属性赋值(Object Property Assignment)
  • 直接修改对象的属性值。
queryData.orgId = orgId;
3. 删除对象属性(Delete Property)
  • 使用 delete 运算符删除对象的属性。
delete queryData.deviceClassifyId;
4. 状态更新函数(State Update Function)
  • setQueryData 假设是 React 的状态更新函数,用于更新组件的状态。
setQueryData(queryData);
5. 可选链(Optional Chaining)
  • 可选链运算符 ?. 用于安全地访问对象的属性或方法,如果对象不存在则返回 undefined
actionRef.current?.reset();
6. 函数调用(Function Call)
  • 调用另一个函数,并传递参数。
loadTreeData(orgId);

http://www.ppmy.cn/ops/129718.html

相关文章

强化学习数学基础学习(三)

前言 这次是蒙特卡洛方法 正文 蒙特卡洛方法(Monte Carlo,MC) 在强化学习(Reinforcement Learning, RL)中,蒙特卡洛方法是一类基于采样的学习方法,主要用于解决那些状态空间或动作空间过大,以至于无法使…

pikachu-XSS闯关挑战

get message<script>alert("123")</script>&submitsubmit post 可以暴力破解账号密码&#xff0c;但由于是XSS练习&#xff0c;点右上角的提示&#xff0c;就可以登陆 直接在输入框中输入 <script>alert("123")</script> …

Date工具类详细汇总-Date日期相关方法

# 1024程序员节 | 征文 # 目录 简介 Date工具类单元测试 Date工具类 简介 本文章是个人总结实际工作中常用到的Date工具类&#xff0c;主要包含Java-jdk8以下版本的Date相关使用方法&#xff0c;可以方便的在工作中灵活的应用&#xff0c;在个人工作期间频繁使用这些时间的格…

ljjh#True

// background.js // 使用 Map 存储拦截的请求数据&#xff0c;键为 interceptionId const interceptedRequests new Map(); // 使用 Map 存储 requestId 到 interceptionId 的映射 const requestIdToInterceptionIdMap new Map(); // 存储已附加调试器的标签页ID const d…

Spring Authorization Server基于Spring Session的前后端分离实现

本章实现的效果 授权码模式下使用前后端分离的登录页面和授权确认页面。设备码模式(Device Flow)下使用前后端分离的登录页面、授权确认页面、用户码(user_code)验证页面和用户码(user_code)验证成功页面。 分析 在一年多以前我出了两篇前后端分离的文章&#xff0c;分别是《S…

像素、分辨率、PPI(像素密度)、帧率的概念

文章目录 前言一、像素1、定义2、像素点也不是越多越好 二、分辨率1、定义 三、PPI(像素密度)1、定义2、计算公式3、视网膜屏幕 四、帧率1、帧 (Frame)2、帧数 (Frames)3、帧率 (Frame Rate)4、FPS (Frames Per Second)5、赫兹 五、其他1、英寸2、为何显示器尺寸以英寸命名 总结…

vue 项目中无 router 文件夹,如何安装路由

两种情况&#xff1a; 第一种&#xff1a;创建项目的时候有勾选 router&#xff0c;但是没有生成 router 文件夹&#xff1b; 解决方法&#xff1a; 首先&#xff0c;查看 package.json 中有没有 router 的依赖&#xff0c;如下图&#xff1a; 自行在 src 目录下添加 router…

HarmonyOS开发5.0 net 启动界面设置

第一步、创建我们界面 第二步&#xff0c; 在EntryAbility中配置启动页面&#xff0c;在entry/src/main/ets/entryability/EntryAbility.ets中配置启动页面 配置如下 至此大功告成