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

从0学习React(2)

经过上一篇的文章,对index.tsx文件的每行代码进行了一个简单的分析之后,我大概对React有了一个简单的了解。虽然也是一知半解,但是起码在心里已经对React有了一个基本的概念。这篇文章,我就讲一下关于React中index.tsx的大致框架。

如果把这个文件简单的拆分成2块,那么可以拆分成导入模块和类组件。

导入模块其实没什么好说的,它长这样:

反正就是在开头导入一些必要的东西,这个没啥好讲的,改代码的时候估计也不会改到这里。

我们仔细的研究一下类组件这个模块。其实对于这个模块,又可以将其拆分成几个模块:

初始化state:初始化 state 是设置组件的初始状态值,以便在组件生命周期的早期阶段定义其初始数据结构和默认值。初始化state之后,这个Index组件中的每个小组件都有自己的state,且都有值了。初始化state的代码是这样的:

componentDidMount:只在组件的初次渲染后执行。说实话,其实我到现在还不是很懂为什么需要这个方法。初始化state后,直接进行render渲染,这个时候不都已经渲染好了吗,为什么还要执行这个方法呢?这个方法的代码如下:

第三块就是render渲染中用到的方法。其实用到了很多方法,我没办法一一去解释,我选了一个我比较熟悉的,接触的比较多的方法来讲一下。

onReachBottom方法。

这个方法首先会检查大组件的 loadMore 的状态值是否为noMore,如果是则证明没有更多数据了,那就不需要滚动加载了。接着这个方法会更新大组件的状态。这个更新状态setState有两个参数,第一个参数是要更改的状态,第二个是回调函数。关于对setState这个状态更新,我写过一篇文章,那篇文章很详细的对其做了解释。this.setState({要更改的状态},回调函数)。这里的回调函数涉及到了业务逻辑,我这里不展开细讲。

最后是render渲染。render渲染其实就是把页面渲染出来。


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

相关文章:

  • 第8章硬件维护-8.2 可维护性和可靠性验收
  • EEG+EMG学习系列 (1) :一个基于小波的自动睡眠评分模型
  • python+Django+MySQL+echarts+bootstrap制作的教学质量评价系统,包括学生、老师、管理员三种角色
  • DNS with libevent
  • springboot上传下载文件
  • 亿咖通科技应邀出席微软汽车行业智享会,分享ECARX AutoGPT全新实践
  • 海云安董事长谢朝海博士出席2024年中国国际服务贸易交易会“大模型应用创新论坛”
  • Rust调用tree-sitter支持自定义语言解析
  • JavaScript中的输出方式
  • Android页面跳转与返回机制详解
  • 用友畅捷通-TPlus FileUploadHandler.ashx 任意文件上传
  • [报错解决] 运行MATCHA时需要在线下载Arial.TTF字体,但是无法连接huggingface
  • 阿里云AlibabaCloudLinux php 安装 mysqli 扩展
  • 基于Dockerfile打包算法镜像
  • Prometheus+Grafana+elasticsearch_exporter监控elasticsearch的简单配置过程
  • fmql之Linux阻塞和非阻塞IO
  • 性能调优知识点(mysql)三
  • 过度广告是劣质护眼台灯的根源,为SUKER书客扼守护眼品质点赞
  • 亲身体验Llama 3.1:开源模型的部署与应用之旅
  • 如何从 Mac 上清空的垃圾箱中恢复已删除的文件
  • D. Determine Winning Islands in Race (cf div2,dp、图论最短路)
  • 对话总结:Scale AI的创始人兼CEO Alex Wang
  • Linux中的进程控制
  • 集成Elasticsearch到django restful
  • 使用【apifox】进行压测-保姆级教程【无需脚本】
  • Unity中分辨率适配