React 教程第一节 简介概述 以及 特点

embedded/2024/11/20 18:16:01/

概述:

一个用于构建web与原生交互界面的UI库,无论是独立开发者,还是团队协作,React 都可以轻松的组合由不同人群开发的组件,随写随插随用,方便快捷;

特点:

1、声明式设计:

React 采用声明式设计,是开发创建的交互界面变得简单易用。开发人员只需要创建自己想要的UI即可,剩下的由React 数据驱动DOM完成界面的绘制渲染,使得开发便于维护;

2、组件化:

将复杂的界面交互,拆分成单一功能可复用的组件,保证组件清晰的逻辑方便维护管理,同时,组件之间相互组合可以轻易组装成复杂的场景,减少代码冗杂,提升组件的复用性;

3、高效性:

通过虚拟DOM DIFF算法来提高应用的性能,在用户增删改查操作时候,React 会通过对比新旧虚拟DOM,批量更新,减少与真实DOM的交互,来实现快速更新界面;

4、灵活性:

不强制要求开发者使用特定的开发设计模式,只要是开发者自己喜欢的技术栈即可,不管使用的是哪种技术栈,随时可以引入 React 进行开发功能;

5、JSX语法:

React 中允许使用类似 javascriptXML语法一样进行编写代码,可以将 js 与 html 编写在一起,是组件逻辑更加直观易读;

6、单向数据流:

React 的数据流,只会从父级传递到子级,形成单向数据流。子组件无法直接修改父组件的状态,需要通过调用父组件的事件方法来实现;单向数据流,数据管理清晰,状态管理简单,易于维护;

7、生命周期:

每个组件都有 挂载、更新、卸载 三个阶段;类组件中通过 React自带的生命周期函数实现
挂载:componentDidMount,
更新:componentDidUpdate
卸载:componentWillUnmount
实现;函数组件中通过 hook 模拟实现,如:useEffect useCallBack;
生命周期,便于根据不同的阶段,实现相应的逻辑,方便管理,提升代码的可控性;

8、HOOKS:

React 从 16.8开始引入 hooks函数,允许开发人员在函数式组件中使用状态,或者其他特性;简化组件的结构,减少类式组件的使用,可通过自定义hook 将复用的逻辑代码抽离,提高代码的可维护性

9、跨平台:

reactNative 使的一套 react 代码可以实现在web端 移动端开发应用,而实现跨平台;

接下来开始 React 的系统性文档整理之旅,主要针对16.8之后以函数式组件编写开发过程中的注意事项,欢迎各位批评指正


http://www.ppmy.cn/embedded/139144.html

相关文章

11.19 机器学习-梯度下降

# **正规方程求解的缺点** # 最小二乘法的缺点 # 之前利用正规方程求解的W是最优解的原因是MSE这个损失函数是凸函数。 # 但是,机器学习的损失函数并非都是凸函数,设置导数为0会得到很多个极值,不能确定唯一解,MSE还有一个问题,当数据量和…

windows C#-查询表达式基础(二)

查询变量 在 LINQ 中,查询变量是存储查询而不是查询结果的任何变量。 更具体地说,查询变量始终是可枚举类型,在 foreach 语句或对其 IEnumerator.MoveNext() 方法的直接调用中循环访问时会生成元素序列。 本文中的示例使用以下数据源和示例…

PHP大模型深度学习库TransformersPHP 安装体验

TransformersPHP是一个工具包,PHP开发人员可以轻松地将机器学习魔法添加到他们的项目中。 管方地址:TransformersPHP github地址:GitHub - CodeWithKyrian/transformers-php: Transformers PHP is a toolkit for PHP developers to add machi…

2个word内容合并

要在Java中实现将两个Word文档的内容合并,可以使用Apache POI库来操作Word文档。 下面2个word合并包括以下内容的合并和处理: 1、段落、标题合并以及样式处理 2、表格合并以及样式处理 3、单元个内容样式处理 4、带word模板占位符内容处理 步骤&#xff…

go语言中的切片含义和用法详解

Go 语言中的切片(slice)是引用类型,它提供了一种灵活的方式去操作一系列具有相同类型的数据。与数组不同,切片的长度不是固定的,可以动态地增长或缩小。切片在 Go 语言中非常常用,因为它们提供了高效且方便…

【读书笔记-《网络是怎样连接的》- 7】Chapter3_2 路由器

本篇继续介绍路由器及其转发过程。 1 路由器内部结构 路由器内部结构图如图所示。 即主要包含左侧的包转发模块和右侧的端口模块。转发模块负责查找包的发送目的地,端口模块完成包的发送。通过安装不同的硬件,转发模块不仅可以支持以太网,也…

无插件H5播放器EasyPlayer.js网页web无插件播放器选择全屏时,视频区域并没有全屏问题的解决方案

EasyPlayer.js H5播放器,是一款能够同时支持HTTP、HTTP-FLV、HLS(m3u8)、WS、WEBRTC、FMP4视频直播与视频点播等多种协议,支持H.264、H.265、AAC、G711A、MP3等多种音视频编码格式,支持MSE、WASM、WebCodec等多种解码方…

软考之RESTful 架构的特点

RestFul 架构的特点及其在前后端分离中的实现 一、引言 随着互联网应用的快速发展,系统架构也在不断演变。RESTful(Representational State Transfer)架构作为一种广泛应用的设计风格,因其简洁、灵活和可扩展性而受到关注。尤其…