从0学习React(2)

news2024/11/18 9:29:31

经过上一篇的文章,对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.coloradmin.cn/o/2175464.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Metahuman sdk官方 AI驱动口型蓝图优化

combo stream ATL stream ( audio to lip sync) 以上时实时驱动口型 非实时驱动口型可以在metahuman blueprint里直接加上talk component,实现聊天/回复功能。 Talk sound可以放自己的声音/ talk chat是回复你输入的message和你聊天/ talk text是念出你输入的me…

828华为云征文|部署个人知识管理系统 SiyuanNote

828华为云征文|部署个人知识管理系统 SiyuanNote 一、Flexus云服务器X实例介绍二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置2.4 Docker 环境搭建 三、Flexus云服务器X实例部署 SiyuanNote3.1 SiyuanNote 介绍3.2 SiyuanNote 部署3.3 Siyua…

Awcing 799. 最长连续不重复子序列

Awcing 799. 最长连续不重复子序列 解题思路: 让我们找到一个数组中,最长的 不包含重复的数 的连续区间的长度。 最优解是双指针算法: 我们用 c n t [ i ] cnt[i] cnt[i]记录 i i i 这个整数在区间内出现的次数。(因为每个数的大小为 1 0 5 10^5 105, …

报数游戏 - 华为OD统一考试(E卷)

2024华为OD机试(E卷D卷C卷)最新题库【超值优惠】Java/Python/C合集 题目描述 100个人围成一圈,每个人有一个编号,编号从1开始到100。他们从1开始依次报数,报到为M的人自动退出圈圈,然后下一个人接着从1开始…

数据链路层 ——MAC

目录 MAC帧协议 mac地址 以太网帧格式 ARP协议 ARP报文格式​编辑 RARP 其他的网络服务或者协议 DNS ICMP协议 ping traceroute NAT技术 代理服务器 网络层负责规划转发路线,而链路层负责在网络节点之间的转发,也就是"一跳"的具体传输…

ubuntu18.04 Anconda安装及使用

1、安装Anaconda 1)下载: 下载链接:https://www.anaconda.com/download#downloads 点击图中Free Download,登录并下在 下载对应版本 2)安装 sudo bash Anaconda3-2024.06-1-Linux-x86_64.sh输入后,直接回车安装。 出…

NSSCTF [HNCTF 2022 WEEK2]e@sy_flower

将文件拖入ida 就看到很显眼的花指令 对着jmp指令nop掉 将main函数按p定义 F5查看伪c代码 思路就是输入的flag先互换位置,再与0x30异或。 int __cdecl __noreturn main(int argc, const char **argv, const char **envp) {signed int v3; // 存储临时值int i; // 循…

栏目二:Echart绘制动态折线图+柱状图

栏目二:Echart绘制动态折线图+柱状图 配置了一个ECharts图表,该图表集成了数据区域缩放、双Y轴显示及多种图表类型(折线图、柱状图、象形柱图)。图表通过X轴数据展示,支持平滑折线展示比率数据并自动添加百分比标识,柱状图以渐变色展示评论数量,而象形柱图则以矩形形式展…

基于baidu的云函数实现隐藏c2真实地址

参考 云函数利用&Profile混淆 可能是大家都用的腾讯云搞得现在腾讯云下架那个api网关了。。。所以只能找其他的云函数使用 在网上只找到了一片不是腾讯云的云函数,使用的是百度云函数,那么也尝试的使用一下百度云函数。 百度云:函数计…

C++里的随机数

想用C做最基础的猜数字,肯定少不了随机数; srand(unsigned(time(NULL))); rand() //是生成一个随机数 rand()%1001//就是一个从一到一百的随机数 合体: #include <iostream> #include <cstdlib> #include <time.h> int main() { int g 0; while (g < …

Redis缓存双写一致性笔记(上)

Redis缓存双写一致性是指在将数据同时写入缓存&#xff08;如Redis&#xff09;和数据库&#xff08;如MySQL&#xff09;时&#xff0c;确保两者中的数据保持一致性。在分布式系统中&#xff0c;缓存通常用于提高数据读取的速度和减轻数据库的压力。然而&#xff0c;当数据更新…

NetAssist测试TCP和UDP

由于在Windows下经常使用NetAssist.exe这款网络调试工具进行TCP、UDP的服务端、客户端的监听&#xff0c;对于需要编写各种通信协议的TCP服务端、客户端以及UDP通信程序来说是很方便的。下载地址&#xff1a;http://free.cmsoft.cn/download/cmsoft/assistant/netassist5.0.14.…

Docker容器的使用

前提条件 Linux环境安装好Docker&#xff0c;可参考Rocky Linux9下安装Docker和卸载Docker Docker命令图 帮助命令 帮助命令&#xff0c;查看有哪些命令可以用 [rootlocalhost ~]# docker --help ​ 查看某个命令的帮助&#xff0c;例如&#xff1a;run [rootlocalhost ~]# …

MySQL递归查询笔记

目录 一、创建表结构和插入数据 二、查询所有子节点 三、查询所有父节点 四、查询指定节点的根节点 五、查询所有兄弟节点&#xff08;同级节点&#xff09; 六、获取祖先节点及其所有子节点 七、查询每个节点之间的层级关系 八、查询指定节点之间的层级关系 一、创建表…

一款辅助渗透测试过程,让渗透测试报告一键生成

《网安面试指南》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484339&idx1&sn356300f169de74e7a778b04bfbbbd0ab&chksmc0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene21#wechat_redirect 《Java代码审…

动态顺序表的增删改查(数据结构)

目录 一、顺序表 二、静态顺序表 三、动态顺序表 3.1、动态顺序表的实现 3.2、动态顺序表的实现 3.3.1、结构体创建 3.3.2、初始化 3.3.3、销毁数据 3.3.4、增容空间 3.3.5、尾插数据 3.3.6、头插数据 3.3.7、删除尾数据 3.3.8、打印数据 3.3.9、删除头数据 3.3…

设备管理系统-TPM(PC+APP/PDA全流程)高保真Axure原型 源文件分享

随着科技的不断发展&#xff0c;企业对于设备管理的需求也日益增强。为了满足企业在设备管理方面的各种需求&#xff0c;站长为大家整理了一套设备管理系统TPM&#xff08;PCAPP/PDA全流程&#xff09;高保真Axure原型&#xff0c;通过这套原型&#xff0c;企业能够实现对设备的…

TDSQL-C电商小助手,AI驱动的智能化数据洞察新纪元

前言&#xff1a; 在数字经济蓬勃发展的今天&#xff0c;电商行业作为数字化转型的先锋&#xff0c;正以前所未有的速度积累着海量数据。这些数据不仅是交易记录的简单堆砌&#xff0c;更是企业洞察市场趋势、优化运营策略、提升用户体验的宝贵财富。然而&#xff0c;如何从这…

【2024.9.28练习】青蛙的约会

题目描述 题目分析 由于两只青蛙都在跳跃导致变量多&#xff0c;不妨采用物理题中的相对运动思想&#xff0c;设青蛙A不动&#xff0c;青蛙B每次跳米&#xff0c;两只青蛙的距离为米。正常来说&#xff0c;只要模拟青蛙B与青蛙A的相对运动过程&#xff0c;最终当青蛙B与青蛙A距…

Goweb---Gorm操作Mysql数据库(一)

本文重点&#xff1a; db.AutoMigrate()这个函数的理解&#xff1a; AutoMigrate是GORM提供的一个方法&#xff0c;用于自动迁移你的模型&#xff08;即数据库表结构&#xff09;到数据库中&#xff0c;确保数据库表与你的Go结构体&#xff08;模型&#xff09;保持一致。 首先…