码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • React 组件化是什么?


    React 组件化

    • 一、什么是组件化
    • 二、基础组件使用
      • 2.1、函数
      • 2.2、类
      • 2.3、渲染
      • 2.4、流程分析
      • 2.5、注意
    • 三、参考地址

    一、什么是组件化

    React 是一个用于构建用户界面的JavaScript库,它采用了组件化的开发模式,使得开发者可以将界面划分为独立的、可重用的组件,以便更轻松地管理和维护复杂的应用程序。

    组件化开发是一种将应用程序拆分为小块、可重用的部分的方法。

    在React中,每个组件都有自己的状态(state)和属性(props),它们用于描述组件的行为和外观。以下是一些关键概念来理解React的组件化:

    1. 组件: 在React中,组件是构建用户界面的基本单元。组件可以是功能性的,也可以是有状态的。每个组件都可以包含自己的逻辑、渲染方法和样式。

    2. 功能性组件: 也称为无状态组件,是一种仅通过输入属性(props)来渲染UI的组件。它们通常用于显示静态内容。

    3. 类组件: 也称为有状态组件,是用JavaScript类来定义的组件。它们可以维护自己的状态,以及生命周期方法来处理组件的不同生命周期阶段。

    4. 属性(props): 属性是传递给组件的数据,它们类似于函数的参数。属性可以在组件内部使用,帮助决定组件的外观和行为。

    5. 状态(state): 状态是组件内部管理的数据。只有类组件才能拥有状态,状态的改变会触发组件的重新渲染。

    6. 渲染(rendering): 组件的渲染是指将组件的输出(通常是UI元素的描述)转换为实际的DOM元素,以便在浏览器中显示。

    7. 生命周期方法(Lifecycle Methods): 对于类组件,React 提供了一组生命周期方法,它们允许开发者在组件不同的生命周期阶段执行代码,比如组件挂载、更新和卸载等。

    8. 组件通信: 在React中,组件之间可以通过属性(props)和事件来进行通信。一个组件可以将数据通过属性传递给子组件,同时子组件可以通过回调函数向父组件发送事件。

    9. 复合(Composition): 组件可以嵌套在其他组件内部,从而构建出更复杂的界面。这种嵌套和组合的方式使得代码更具有可维护性和可扩展性。

    二、基础组件使用

    2.1、函数

    		//方式1: 无状态函数(简单组件, 推荐使用)
    		function MyComponent1(props) {
    			return`

    `自定义组件标题11111`

    `
    }
    • 1
    • 2
    • 3
    • 4
    1. 函数名首字符大写
      组件名称须以大写字母开头,React 据此区分组件和普通的 HTML

    2. 必须有返回值
      表示该组件的 UI 结构;如果不需要渲染任何内容,则返回 null

    2.2、类

    		//方式2: ES6类语法(复杂组件, 推荐使用)
    		class MyComponent3 extends React.Component {
    			render () {
    			  return `

    `自定义组件标题33333`

    `
    } }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    1. 类名必须以大写字母开头
    2. extends是一个关键字,用来实现类之间的继承。类组件应该继承 React.Component 父类,从而使用父类中提供的方法或属性。
    3. 类组件必须提供 render 方法,render 方法必须有返回值,表示该组件的 UI 结构。render会在组件创建时执行一次

    2.3、渲染

    		ReactDOM.render(``,  cotainerEle)
    
    • 1

    2.4、流程分析

    ReactDOM.render()渲染组件标签的基本流程

    1. React内部会创建组件实例对象/调用组件函数, 得到虚拟DOM对象
    2. 将虚拟DOM并解析为真实DOM
    3. 插入到指定的页面元素内部

    2.5、注意

    • 组件名必须首字母大写
    • 虚拟DOM元素只能有一个根元素
    • 虚拟DOM元素必须有结束标签

    三、参考地址

    chatgpt

    转:https://juejin.cn/post/7015402441298411533

    https://www.bilibili.com/video/BV1wy4y1D7JT/?spm_id_from=333.337.search-card.all.click&vd_source=8ac97496e3a9e47d15f8bdfb630e596a

  • 相关阅读:
    C#进阶高级语法之LINQ:深入分析LINQ的查询表达式、延迟执行与PLINQ高级特性
    模具制造厂ERP都有哪些牌子?模具制造厂ERP有什么用
    经典面试题-Python装饰器
    基于WPF重复造轮子,写一款数据库文档管理工具(一)
    sealos 作者创业心路历程
    MMDetection自定义双主干Transformer模型(一)
    企业网络安全面临哪些困境?可以怎样应对?
    jvm基础学习总结笔记
    【ElementUI】ElementUI Tooltip 根据内容判断是否显示、文字提示自定义样式
    如何做好项目规划?以及项目规划常用的管理软件盘点
  • 原文地址:https://blog.csdn.net/weixin_35691921/article/details/132619191
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号