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

从0学习React(7)

在上篇文章中,我们重点讲了关于函数组件的状态管理。这篇文章,我用一种新的方式来讲一讲React,我会通过一个函数来去讲React。当然,这肯定不能一个函数讲完,但是我可以讲很多个函数,一篇文章讲一个,很快,80%的React的语法知识基本就讲到了。

这个函数是这样的:

const openDetail = () => {
  fetchMenuPermission({ path: '/device/deviceManage' }).then((res) => {
    const data = res.data;
    if (data && data.length > 0) {
      setPermissions(data);
      setShowDetail(true);
    } else {
      message.warn('没有设备管理权限');
    }
  });
};

代码解析

1. const openDetail = () => { ... };
  • 这是一个箭头函数(arrow function)的声明。
  • openDetail 是函数的名称。
  • ()是函数的参数,这个函数没有参数。
  • { ... }是函数体,即函数的内容。
2. fetchMenuPermission({ path: '/device/deviceManage' })
  • fetchMenuPermission 是一个函数,接受一个对象作为参数,这个对象包含一个 path 属性,其值为 '/device/deviceManage'
  • 假设 fetchMenuPermission 返回一个 Promise 对象。
3. .then((res) => { ... })
  • then 方法用于处理 fetchMenuPermission 返回的 Promise 对象。
  • 当 Promise 解析成功时,then 方法中的回调函数会被调用,res 是 Promise 解析后的结果。
4. const data = res.data;
  • 从 res 对象中提取 data 属性,并将其赋值给常量 data
5. if (data && data.length > 0) { ... } else { ... }
  • 这是一个条件判断语句。
  • 检查 data 是否存在且其长度是否大于 0。
6. setPermissions(data);
  • 如果条件为真,调用 setPermissions 函数,并传入 data 作为参数。
  • 假设 setPermissions 是一个用于更新权限数据的状态更新函数。
7. setShowDetail(true);
  • 调用 setShowDetail 函数,并传入 true 作为参数。
  • 假设 setShowDetail 是一个用于更新是否显示详细信息的状态更新函数。
8. message.warn('没有设备管理权限');
  • 如果条件为假,调用 message.warn 方法,显示警告信息 '没有设备管理权限'
  • 假设 message 是一个用于显示消息的对象,warn 方法用于显示警告消息。

使用的语法和概念

1. 箭头函数(Arrow Function)
  • 箭头函数是一种简洁的函数定义方式,语法为 const functionName = (params) => { ... };
  • 在箭头函数中,this 关键字的行为与普通函数不同,它不会绑定自己的 this,而是继承自外层作用域。
const openDetail = () => { ... };
2. 对象字面量(Object Literal)
  • 对象字面量用于创建对象,语法为 { key: value }
fetchMenuPermission({ path: '/device/deviceManage' })
3. Promise 和 then 方法
  • Promise 是一种异步编程的解决方案,用于处理异步操作的结果。
  • then 方法用于在 Promise 解析成功时执行回调函数。
fetchMenuPermission(...).then((res) => { ... });
4. 解构赋值(Destructuring Assignment)
  • 解构赋值用于从对象或数组中提取值,并赋值给变量。
const data = res.data;
5. 条件语句(Conditional Statement)
  • 条件语句用于根据条件的真假执行不同的代码块。
if (data && data.length > 0) { ... } else { ... }
6. 状态更新函数(State Update Function)
  • setPermissions 和 setShowDetail 假设是 React 的状态更新函数,用于更新组件的状态。
setPermissions(data);
setShowDetail(true);


http://www.kler.cn/a/372840.html

相关文章:

  • 微透镜阵列精准全检,白光干涉3D自动量测方案提效70%
  • 什么是长连接?Netty如何设置进行长连接?
  • 本地仓库管理之当前分支内的操作
  • 【OpenCV(C++)快速入门】--opencv学习
  • 【前端】框架-构建-包管理-语言-语法-生态工具
  • 【Go】Go Gin框架初识(一)
  • Maven(18)如何使用Maven打包项目?
  • 1通道10GSPS或2通道5G 14 bit数字化仪
  • 跟着小土堆学习pytorch(六)——神经网络的基本骨架(nn.model)
  • 命令如诗,步入Linux的晨曦:指令初学者的旅程(下)
  • 日期差值题目(也可能是最容易看懂的了)
  • UG NX二次开发(C#)-计算圆柱面与其他平面的夹角
  • 第十二课 Vue中的事件修饰符
  • ubuntu系统docker容器中的torch,使用宿主机的gpu
  • 如何将原本打开Edge呈现出的360浏览器,更换成原本的Edge页面或者百度等其他页面
  • JavaFX WebView + Vue初始化加载数据解决方案
  • 基于javaweb的流浪宠物管理系统的设计与实现源码(springboot)
  • 大数据-197 数据挖掘 机器学习理论 - scikit-learn 泛化能力 交叉验证
  • 视频设备一体化监控运维方案
  • openGauss开源数据库实战十四
  • Flink难点和高频考点:Flink的反压产生原因、排查思路、优化措施和监控方法
  • 性能测试——Jmeter实战
  • DAIN-SQL,DAIL-SQL,C3-SQL和 DIN-SQL 技术的理解和异同点
  • LSTM——长短期记忆神经网络
  • Linux 调度SCHED_FIFO或SCHED_RR
  • 传统机器学习总结