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

千峰React:组件使用(1)

事件

添加点击事件

function App() {
    const handClick = () => {
      console.log(123)
  }
  return (
    <>
      <button onClick={handClick}>点击</button>
    </>
  )
}
export default App

在react里也可以添加事件对象e

合成e

这个e和js里的e不太一样,是合成的e,里面也可以使用原生的js事件

一个是鼠标经过事件,一个是点击事件,显示出来也不一样

事件委托到容器

我们刚刚添加的事件实际上都会经过react添加到root上,通过事件委托的方式触发

委托的好处就是结构发生变化以后不影响事件

传参处理

箭头函数和高阶函数

高阶函数是用函数的返回值为函数操作的

箭头函数可以传多个参数

function App() {
  const handClick = (e) => {
    console.log(e)
  }
  const handleEnter = (e) => {
    console.log(e)
  }
  const handClick2 = (num) => {
    return () => {
      console.log(num)
    }
  } //函数调用完返回值还是一个函数,是一种高级用法
  const handClick3 = (num, e) => {
    console.log(num, e)
  }//箭头函数传参
  return (
    <>
      <button onClick={handClick} onMouseEnter={handleEnter}>
        点击1
      </button>
      <button onClick={handClick2(123)}>点击2-传参</button>
      <button onClick={(e) => handClick3(123, e)}>点击3-箭头函数</button>
    </>
  )
}
export default App

实操更推荐箭头函数的使用,可以少出bug

箭头函数可以灵活的控制传不传参,传参就写箭头,不传就不写箭头;高阶函数的用法做不到想不传参就不传参

根据不同的条件渲染不同内容

条件运算符、短路运算

如果你想把对象、函数这类在结构上渲染不出来的内容渲染出来,那就使用JSON.stringfy()

如果是其他类型可以使用{undefined+‘’}

function App() {
  return (
    <div>
      {function () {} + ''}
      <br />
      {null + ''}
      <br />
      {undefined + ''}
      <br />
      {JSON.stringify({ username: '荷叶饭' })}
    </div>
  )
}
export default App

妈的写了三千字的博客没保存cnm

http://www.dtcms.com/a/27498.html

相关文章:

  • 基于Spring Boot的售楼管理系统设计与实现(LW+源码+讲解)
  • Spring Cloud中如何使用Eureka:超详细指南
  • 产业园区数字孪生规划方案(40页PPT)
  • 嵌入式学习(18)---Linux文件编程中的进程
  • 代码随想录算法训练营第六天| 242.有效的字母异位词 、349. 两个数组的交集、202. 快乐数 、1. 两数之和
  • 《Kettle保姆级教学-性能调优,抽取速率提升800%》
  • java网络编程02 - HTTP、HTTPS详解
  • 若依-@Excel新增注解numberFormat
  • 【SFRA】笔记
  • 【可实战】Linux 常用统计命令:排序sort、去重uniq、统计wc
  • idea连接gitee完整教程
  • 精通特征选择:过滤器方法提升机器学习模型的技巧
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • docker中pull hello-world的时候出现报错
  • javaSE学习笔记20-线程(thread)的状态以及控制
  • Day6 25/2/19 WED
  • Win10下安装 Redis
  • ssh免密登录配置
  • 【前端】使用WebStorm创建第一个项目
  • 【笑着写算法系列】位运算
  • Python常见面试题的详解13
  • Linux | 进程控制(进程终止与进程等待)
  • 鱼皮面试鸭30天后端面试营
  • MySQL 如何使用EXPLAIN工具优化SQL
  • 知识拓扑-xmind
  • 第四章:高级特性与最佳实践 - 第三节 - Tailwind CSS 性能优化策略
  • QSNCTF-WEB做题记录
  • Android Hal AIDL 简介 (一)
  • Android 应用 A 通过 aidl 主动向应用 B 发送数据示例
  • 学习next.js的同时的一些英语单词记录