React - 组件:函数组件
目录:
1. 组件名字首字母一定是大写的 2. 返回一个jsx 3. jsx依赖React,所以组件内部需要引入React 4. 组件传参 a. 传递. <Component list={ arrData }><Component> b. 接收. function Component( props ){...} c. 使用. const { list } = props,list就是参数数据 5. 缺点:【无状态组件】只能实现很简单的视图展示功能,没有自己的内容数据、没有状态,没有逻辑处理,【没有this】,【没有生命周期】。 6. 16.7以后版本的react有状态和钩子函数提供使用。不过版本过新不推荐用 内部不用render函数,会自动把return返回结果当做render返回结果【见类组件的必须要求】
js文件中的函数组件:
首字母大写、有返回jsx的函数组件
也可以直接调用函数,实现函数组件引用。
函数组件里可以返回一个字符串:
但是没有返回值就会报错:
组件之间写内容不会展示出来:
组件身上写className没用:
渲染的结果如下:没有组件中的内容,也没有class类名
独立写在js里的函数组件:
必须引入React才能使用、导出函数本身。代码如下
组件传参:
传入 - 属性传参
<HotList listData={ data } testData={ data2 }></HotList>
接收 - 参数接收
function HotList(props){
console.log(props)
}
传入1个参数时,props打印
传入2个参数时,props打印
可见传入的所有参数都集合在函数的props参数中,解构出来即可引用。
引用 - 解构或直接引用
直接使用
console.log(props)
console.log(props.testData)
解构使用:
函数组件的缺点:
无状态组件
函数组件只能实现非常简单的渲染功能。只是进行页面的展示和数据的渲染。没有逻辑的处理。也就是组件的内部是没有自己的数据和状态的。它是无状态组件。
无状态组件的使用时机是当且仅当数据展示、不需要逻辑处理的时候来使用。
没有this
打印内部的this。得到undefined。
function HotList(props){
console.log("打印函数组件内部的this:",this)
}
没有生命周期
函数组件内部也没有生命周期。
总结:
函数组件只有当展示视图的时候才用。做复杂的数据处理、需要有自己的状态的时候,需要用类组件。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?