前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >React基础教程

React基础教程

作者头像
zhouzhouya
发布2023-11-01 14:19:01
1520
发布2023-11-01 14:19:01
举报
文章被收录于专栏:一名前端开发一名前端开发

react是前端三大开发框架之一,是一套UI引擎,是DOM的抽象层,并不是web应用的完整解决方案。它遵循组件设计模式、声明式编程范式和函数式编程的概念,使用虚拟DOM有效的操作DOM,并且遵循从高阶组件到低阶组件的单向数据流,从而使前端应用程序达到高效。

React 入门

React 的基本认识

官网

  1. 英文官网: reactjs.org/
  2. 中文官网: doc.react-china.org/

介绍描述

  1. 用于构建用户界面的 JavaScript 库(只关注于 View)
  2. 由 Facebook 开源

React 的特点

  1. Declarative(声明式编码)
  2. Component-Based(组件化编码)
  3. Learn Once, Write Anywhere(支持客户端与服务器渲染)
  4. 高效
  5. 单向数据流

React 高效的原因

  1. 虚拟(virtual)DOM, 不总是直接操作 DOM
  2. DOM Diff 算法, 最小化页面重绘

React 的基本使用

效果

image.png
image.png

相关 js 库

  1. react.js: React 的核心库
  2. react-dom.js: 提供操作 DOM 的 react 扩展库
  3. babel.min.js: 解析 JSX 语法代码转为纯 JS 语法代码的库

在页面中导入 js

代码语言:javascript
复制
<script type="text/javascript" src="../js/react.development.js"></script>  
<script type="text/javascript" src="../js/react-dom.development.js"></script>  
<script type="text/javascript" src="../js/babel.min.js"></script>

编码

代码语言:javascript
复制
<script type="text/babel">
//  必须声明 babel  
//  创建虚拟 DOM 元素  
const vDom = <h1>Hello React</h1> 
//  千万不要加引号  
//  渲染虚拟 DOM  
//  到页面真实 DOM 容器中  
ReactDOM.render(vDom, document.getElementById('test'))  
</script>

使用 React 开发者工具调试

react developer

React JSX

效果

image.png
image.png

虚拟 DOM

  1. React 提供了一些 API 来创建一种 特别 的一般 js 对象 a. var element = React.createElement('h1', {id:'myTitle'},'hello') b. 上面创建的就是一个简单的虚拟 DOM 对象
  2. 虚拟 DOM 对象最终都会被 React 转换为真实的 DOM
  3. 我们编码时基本只需要操作 react 的虚拟 DOM 相关数据, react 会转换为真实 DOM 变化而更新界面

JSX

  1. 全称: JavaScript XML
  2. react 定义的一种类似于 XML 的 JS 扩展语法: XML+JS
  3. 作用: 用来创建 react 虚拟 DOM(元素)对象 a. var ele = <h1>Hello JSX!</h1> b. 注意 1: 它不是字符串, 也不是 HTML/XML 标签 c. 注意 2: 它最终产生的就是一个 JS 对象
  4. 标签名任意: HTML 标签或其它标签
  5. 标签属性任意: HTML 标签属性或其它
  6. 基本语法规则 a. 遇到 <开头的代码, 以标签的语法解析: html 同名标签转换为 html 同名元素, 其它标签需要特别解析 b. 遇到以 { 开头的代码,以 JS 语法解析: 标签中的 js 代码必须用{ }包含
  7. babel.js 的作用 a. 浏览器不能直接解析 JSX 代码, 需要 babel 转译为纯 JS 的代码才能运行 b. 只要用了 JSX,都要加上 type="text/babel", 声明需要 babel 来处理

渲染虚拟 DOM(元素)

  1. 语法: ReactDOM.render(virtualDOM, containerDOM)
  2. 作用: 将虚拟 DOM 元素渲染到页面中的真实容器 DOM 中显示
  3. 参数说明 a. 参数一: 纯 js 或 jsx 创建的虚拟 dom 对象 b. 参数二: 用来包含虚拟 DOM 元素的真实 dom 元素对象(一般是一个 div)

建虚拟 DOM 的 2 种方式

  1. 纯 JS(一般不用) React.createElement('h1', {id:'myTitle'}, title)
  2. JSX: <h1 id='myTitle'>{title}</h1>

模块与组件和模块化与组件化

模块

  1. 理解: 向外提供特定功能的 js 程序, 一般就是一个 js 文件
  2. 为什么: js 代码更多更复杂
  3. 作用: 复用 js, 简化 js 的编写, 提高 js 运行效率

组件

  1. 理解: 用来实现特定(局部)功能效果的代码集合(html/css/js)
  2. 为什么: 一个界面的功能更复杂
  3. 作用: 复用编码, 简化项目编码, 提高运行效率

模块化

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

组件化

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-11-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • React 入门
    • React 的基本认识
      • 官网
      • 介绍描述
      • React 的特点
      • React 高效的原因
    • React 的基本使用
      • 效果
      • 相关 js 库
      • 在页面中导入 js
      • 编码
      • 使用 React 开发者工具调试
    • React JSX
      • 效果
      • 虚拟 DOM
      • JSX
      • 渲染虚拟 DOM(元素)
      • 建虚拟 DOM 的 2 种方式
    • 模块与组件和模块化与组件化
      • 模块
      • 组件
      • 模块化
      • 组件化
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档