IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 每一周的学习报告 第七周 React入门 -> 正文阅读

[JavaScript知识库]每一周的学习报告 第七周 React入门

学习周报

React入门到入坟

这是一个基于React官方文档以及尚硅谷React视频课程的学习

Hello React (开始React)

什么是React

React是一个将数据渲染成HTML视图的开源JavaScript库(library)

为什么要学React

网页一般为响应式系统,以“监听事件,消息驱动”为基础,事件发生后执行既定的回调函数,使状态发生改变,ui更新
原生JavaScript的缺点:

  1. 状态更新,UI不会自动更新,需要手动地调用DOM进行更新
  2. 欠缺基本的代码层面的封装和隔离,代码层面没有组件化
  3. UI之间的数据依赖关系,需要手动维护.如果依赖链路长.则会遇到“Callback Hell”
    因此,我们使用React让状态更新后,ui自动更新;让代码组件化,可复用,可封装;状态间的相互依赖关系,只需要声明即可

在网站中添加React

步骤 1: 添加一个 DOM 容器到 HTML

<!-- 准备好一个容器 -->
	<div id="test"></div>

要给这个div元素添加上一个ID方便我们待会用Javascript获取到它
步骤 2:添加 React 库

  <!-- ... 其它 HTML ... -->

  <!-- 加载 React。-->
  <!-- 注意: 部署时,将 "development.js" 替换为 "production.min.js"。-->
  <script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>
  <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script>

第一个为React,第二个为React-dom
步骤 3:使用React在网页中添加元素

  1. 创建虚拟DOM
let VDOM = React.createElement('h1',{id:'hello'},Hello React);

React.createElement()方法用于创建虚拟DOM,有三个参数,分别是标签名,标签属性,元素内容
2. 渲染虚拟DOM到页面

ReactDOM.render(VDOM,document.getElementById('test'))

ReactDOM.render()方法用于将虚拟DOM渲染到页面上,第一个参数为虚拟DOM,第二个参数为DOM 容器

虚拟DOM(Virtual DOM)

什么是虚拟DOM

Virtual DOM是一种用于和真实DOM同步,而在JS内存中维护的一个对象,它具有和DOM类似的树状结构,并和DOM可以建立一一对应的关系。

为什么要使用虚拟DOM

它赋予了React声明式的API:您告诉React希望让UI是什么状态,React就确保DOM匹配该状态。这使您可以从属性操作、事件处理和手动DOM更新这些在构建应用程序时必要的操作中解放出来。
虚拟DOM可以减少操作真实DOM的次数(通过Diff),提高网页的运行效率,并提高开发效率

JSX(JavaScript XML)

为什么要学习JSX

JSX 的全称为 JavaScript XML,是react定义的一种类似于XML的JS扩展语法,用来简化创建虚拟DOM
我们可以将上面Hello React实例改成:

let VDOM = <h1 id = 'hello'>Hello,React</h1>
ReactDOM.render(VDOM,document.getElementById('test'))

可以知道使用JSX可以让创建虚拟DOM变得简单且直观

使用JSX的准备工作

JSX语法不符合JS代码规范,需要使用babel翻译

首先添加babel的库

<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
//添加babel支持

然后在script标签中添加 type=“text/babel” 属性

<script type="text/babel">
</script>

JSX语法规范

  1. 创建虚拟DOM时,不要写引号
let VDOM = <h1>Hello,React</h1> //此处一定不要加引号,因为不是字符串,是虚拟DOM
  1. JSX允许在标签中写入JS表达式,用{}将表达式括起来
let VDOM = <h1>Hello,React{1+1}</h1> 
ReactDOM.render(VDOM,document.getElementById('test'))

但要注意的是{}中只能写入JS表达式,写入if while等结构会报错
3. 标签中的class要用className

<h1 className='hello'>Hello,React</h1>

改成class是为了与JS中class类作区分
4. 标签中的内联样式要以JS代码形式写入

<h1 style={{color:'white',fontSize:'40px'}}></h1>

注意属性名转为小驼峰
5. 创建虚拟DOM时只能有一个根标签
6. 标签必须闭合
当标签不需要内容时可以使用自结束

<input type="text"/>
  1. 标签开头为小写时,是HTML标签;大写时,是组件
    因此在自定义组件时要将首字母大写
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-01 20:30:57  更:2022-02-01 20:31:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:56:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码