React学习笔记02-----React基本使用

一、React简介

想实现页面的局部刷新,而不是整个网页的刷新。AJAX+DOM可以实现局部刷新

1.特点

(1)虚拟DOM

开发者通过React来操作原生DOM,从而构建页面。

React通过虚拟DOM来实现,可以解决DOM的兼容性问题,可以保证对网页最小的修改,避免使用DOM的复杂API

(2)声明式

以结果为导向,根据开发者的需求自动生成相关代码。JSX

(3)基于组件 

将网页中的各个部分拆分出了各个组件,使组件可以复用,降低代码之间的耦合

React本质在开发组件

(4)支持服务器端渲染

二、入门开发

1.引入JS文件

react-dom可以开发网页(操作和DOM相关的时候用);react-native可以开发原生应用。根据需求分别引入,react必须引入。

2.原生DOM和React的写法对比

(1)DOM元素

通过DOM向页面中现有的div中添加一个div

(2)React元素

通过React向页面中现有的div中添加一个div

3.API

(1)createElement()

可以一次性创建React元素名称、属性、内容

创建的React元素不能修改,如何替换?

(2)createRoot()

(3)render()

三、JSX

注意事项

四、渲染列表

1.for循环

通过循环统一给数组中的元素加上<li>

2.map()

通过箭头函数统一给数组中的元素加上<li>

五、虚拟DOM

1.好处

2.刷新的比较顺序

通过diffing算法,依次比较

3.key属性

在显示数组时,需要设置key

可以避免大量的不必要的刷新,key在当前列表中唯一即可,开发中一般采用数据的id作为key,不会使用索引作为key,和没加一样

相关推荐

  1. React 基础学习02

    2024-07-19 01:40:02       48 阅读
  2. React基础学习-Day02

    2024-07-19 01:40:02       16 阅读
  3. React 基础学习01

    2024-07-19 01:40:02       68 阅读
  4. React基础学习-Day05

    2024-07-19 01:40:02       16 阅读
  5. React基础学习-Day06

    2024-07-19 01:40:02       18 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 01:40:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 01:40:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 01:40:02       45 阅读
  4. Python语言-面向对象

    2024-07-19 01:40:02       55 阅读

热门阅读

  1. RK3568 linux-5.10 rk809 声卡实现spk hp自动切换

    2024-07-19 01:40:02       17 阅读
  2. 蜣螂算法(BSO)及Python和MATLAB实现

    2024-07-19 01:40:02       17 阅读
  3. A. Little Nikita

    2024-07-19 01:40:02       16 阅读
  4. Ubuntu22,ROS2 colcon/cmake 编译卡死问题解决

    2024-07-19 01:40:02       16 阅读
  5. Mongodb文本索引

    2024-07-19 01:40:02       15 阅读
  6. ChatGPT:Stream 和 数据源

    2024-07-19 01:40:02       15 阅读
  7. 1.虚拟机相关的博文推荐

    2024-07-19 01:40:02       15 阅读
  8. Flink HA

    Flink HA

    2024-07-19 01:40:02      17 阅读
  9. vault正式环境安装部署

    2024-07-19 01:40:02       20 阅读
  10. 【Git】Git解除仓库关联或关联新仓库

    2024-07-19 01:40:02       16 阅读
  11. AIGC笔记--Classifer Guidance的代码理解

    2024-07-19 01:40:02       22 阅读
  12. rust 构建自己的库和模块

    2024-07-19 01:40:02       17 阅读
  13. 大语言模型系列-Transformer

    2024-07-19 01:40:02       22 阅读
  14. Git入门

    2024-07-19 01:40:02       21 阅读
  15. JVM高频面试题

    2024-07-19 01:40:02       21 阅读