【React打卡学习第一天】
创始人
2025-01-08 14:34:14
0

React入门

  • 一、简介
  • 二、基本使用
    • 1.引入相关js库
    • 2.babel.js的作用
  • 二、创建虚拟DOM
  • 三、JSX(JavaScript XML)
    • 1.本质
    • 2.作用
    • 3.基本语法规则
      • 定义虚拟DOM时,不要写引号。
      • 标签中混入JS表达式时要用{}。
      • 样式的类名指定不要用class,要用className.
      • 内联样式,要用style={{key:value}}的形式去写。
      • 只有一个根标签
      • 标签必须闭合
      • 标签首字母
    • 4.渲染虚拟DOM(元素)
      • ReactDOM.render(virtualDOM, containerDOM)
  • 四、模块与模块化、组件与组件化
    • 1.模块
      • 理解
      • 为什么要拆成模块
    • 2.模块化
    • 3.组件
      • 理解
      • 为什么要用组件
    • 4.组件化

一、简介

React是一个用于构建用户界面的JavaScript库,由Facebook开源。它专注于视图层,允许开发者通过组件化的方式构建界面。React的特点包括声明式编码、组件化编码、能够编写原生应用的React Native,以及高效性,这得益于其优秀的Diffing算法。React高效的原因之一是使用虚拟DOM,减少了直接操作真实DOM的频率。此外,DOM Diffing算法最小化了页面重绘的需要,进一步提高了性能。

更多详情信息请查看官网:https://react.dev/

二、基本使用

1.引入相关js库

react.js:React核心库。
react-dom.js:提供操作DOM的react扩展库。
babel.min.js:解析JSX语法代码转为JS代码的库。
注:一定要先引入react.development.js再引入react-dom.development.js

2.babel.js的作用

1)浏览器不能直接解析JSX代码, 需要babel转译为纯JS的代码才能运行
2)只要用了JSX,都要加上type=“text/babel”, 声明需要babel来处理

二、创建虚拟DOM

我们一般采用jsx方式创建虚拟DOM
在这里插入图片描述
虚拟DOM不是字符串, 也不是HTML/XML标签,它最终产生的就是一个JS对象

三、JSX(JavaScript XML)

react定义的一种类似于XML的JS扩展语法: JS + XML

1.本质

React.createElement(component, props, …children)方法的语法糖

2.作用

用来简化创建虚拟DOM

3.基本语法规则

定义虚拟DOM时,不要写引号。

标签中混入JS表达式时要用{}。

区分:js语句(代码) 与js表达式

表达式:一个表达式会产生一个值,可以放在任何一个需要值的地方
(1). a
(2). a+b
(3). demo(1)
(4). arr .map()
(5). function test () {}

语句(代码):
(1).if(){}
(2). for(){}
(3). switch(){case : xxxx}

样式的类名指定不要用class,要用className.

内联样式,要用style={{key:value}}的形式去写。

只有一个根标签

标签必须闭合

标签首字母

(1).若小写字母开头,则将改标签转为html中同名元素,若html 中无该标签对应的同名元素,则报错。
(2).若大写字母开头,react就 去渲染对应的组件,若组件没有定义,则报错。

4.渲染虚拟DOM(元素)

ReactDOM.render(virtualDOM, containerDOM)

将虚拟DOM元素渲染到页面中的真实容器DOM中显示
参数说明
1)参数一: 纯js或jsx创建的虚拟dom对象
2)参数二: 用来包含虚拟DOM元素的真实dom元素对象(一般是一个div)

四、模块与模块化、组件与组件化

1.模块

理解

向外提供特定功能的js程序, 一般就是一个js文件

为什么要拆成模块

随着业务逻辑增加,代码越来越多且复杂。
复用js, 简化js的编写, 提高js运行效率

2.模块化

当应用的js都以模块来编写的, 这个应用就是一个模块化的应用

3.组件

理解

用来实现局部功能效果的代码和资源的集合(html/css/js/image等等)

为什么要用组件

一个界面的功能更复杂
复用编码, 简化项目编码, 提高运行效率

4.组件化

当应用是以多组件的方式实现, 这个应用就是一个组件化的应用

相关内容

热门资讯

攻略教程!开挂!pokemmo... 攻略教程!开挂!pokemmo脚本辅助下载,新道游app下载(必备教程开挂辅助脚本)1、下载安装好p...
科技辅助!广东麻雀有什么技巧,... 科技辅助!广东麻雀有什么技巧,潮汕激k辅助,技术分享开挂(有人有挂);无需打开直接搜索加薇13670...
可靠教程辅助!葫芦娃辅助器直装... 可靠教程辅助!葫芦娃辅助器直装,新老夫子免费辅助(盘点十款开挂辅助脚本)>>您好:软件加薇13670...
科技辅助!金虎爷辅助器,友友联... 科技辅助!金虎爷辅助器,友友联盟辅助脚本,玩家必备科技开挂(真的有挂)友友联盟辅助脚本ai黑科技系统...
扑克教程辅助!新玉海楼茶苑脚本... 扑克教程辅助!新玉海楼茶苑脚本,雀姬手游辅助免费脚本(透视新版开挂辅助神器);无需打开直接搜索薇:1...
正品辅助!胡易决胜麻架辅助,全... 正品辅助!胡易决胜麻架辅助,全来潜山跑风辅助器,每日必看推荐开挂(有挂技巧);最新版2026是一款经...
黑科技教程辅助!天天飞小鸡辅助... 黑科技教程辅助!天天飞小鸡辅助,方片十三张源码(必备辅助推荐开挂辅助插件);亲真的是有正版授权,小编...
原来有辅助!川南九九辅助,丰城... 原来有辅助!川南九九辅助,丰城呱呱辅助器,透视ai开挂(有挂秘笈);无需打开直接搜索打开薇:1367...
透明挂教程!开挂!小闲川南辅助... 小闲川南辅助是一款专注玩家量身打造的游戏记牌类型软件,在小闲川南辅助这款游戏中我们可以记录下每张牌的...
推荐辅助!网易水润血战到底辅助... 推荐辅助!网易水润血战到底辅助,潮汕馆辅助,透视私人局开挂(的确有挂);无需打开直接搜索加(薇:13...