文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

React 入门第三步:了解组件的概念及应用

2024-12-14 01:12

关注

组件允许你将 UI 拆分为独立可复用的代码片段,并对每个片段进行独立构思。从概念上类似于 JavaScript 函数。

它接受任意的入参(即 “props”),并返回用于描述页面展示内容的 React 元素。分为函数组件与 class 类组件。

学习组件之前,可以先安装一个 VS Code 插件,直接搜索 react , 选择下载量最高的就行了。

函数组件与类组件

顾名思义,函数组件就是使用函数创建的组件,类组件就是使用类创建组件,安装好插件之后,可以直接使用简写补全功能创建对应插件。

注意,首字母要大写。

函数组件的创建

编辑器快捷方式:rfce

  1. import React from'react' 
  2.  
  3. functionComponentFun() { 
  4.   return ( 
  5.     
     
  6.       

    单文件函数组件

     
  7.     
 
  •   ) 
  •  
  • exportdefault ComponentFun 
  • 声明函数,并在函数中返回 JSX ,最后导出函数。

    类组件的创建

    编辑器快捷方式:rce

    1. import React, { Component } from'react' 
    2.  
    3. exportclass ComponentClass extends Component { 
    4.   render() { 
    5.     return ( 
    6.       
       
    7.         

      单文件类组件

       
    8.       
     
  •     ) 
  •   } 
  •  
  • exportdefault ComponentClass 
  • 类组件需要继承 Component,因此需要进行导入。如果不导入,则需要继承React.Component。

    同时,类中需要调用 render() 渲染函数,在渲染函数中,return 返回对应的 JSX。

    组件的引入与使用

    组件的使用也很简单,按模块化语法引入之后,直接当作标签在 JSX 中使用。

    1. import React from'react' 
    2. // 引入单文件组件 
    3. import ComponentClass from'./ComponentClass' 
    4. import ComponentFun from'./ComponentFun' 
    5.  
    6.  
    7. functionApp() { 
    8.   return ( 
    9.     
       
    10.       {} 
    11.        
    12.        
    13.      
    14.   ) 
    15.  
    16. exportdefault App 

    因为 JSX 必须有一个根节点,因此在引入使用后,渲染的结果中,会出现多个 div 嵌套,比如下面这样子的:

    1. "root">

      单文件类组件

      单文件函数组件

     

    为了解决这个问题,React 提供了 “片段” 组件 Fragment ,它允许你将子列表分组,渲染后不会向 DOM 添加额外节点:

    1. import React, { Component,Fragment } from'react' 
    2.  
    3. exportclass ComponentClass extends Component { 
    4.   render() { 
    5.     return ( 
    6.        
    7.         

      单文件类组件

       
    8.        
    9.     ) 
    10.   } 
    11.  
    12. exportdefault ComponentClass 

    使用也很简单,就是引入后,将 JSX 中的div 根节点替换即可,最终渲染后的 DOM 如下:

    1. "root">

      单文件类组件

      单文件函数组件

       

     

    来源:勾勾的前端世界内容投诉

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    软考中级精品资料免费领

    • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

      难度     813人已做
      查看
    • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

      难度     354人已做
      查看
    • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

      难度     318人已做
      查看
    • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

      难度     435人已做
      查看
    • 2024年上半年系统架构设计师考试综合知识真题

      难度     224人已做
      查看

    相关文章

    发现更多好内容

    猜你喜欢

    AI推送时光机
    位置:首页-资讯-后端开发
    咦!没有更多了?去看看其它编程学习网 内容吧
    首页课程
    资料下载
    问答资讯