NoteZ_技术博客 NoteZ_技术博客
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)

NoteZ_技术博客

前端界的小学生
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)
  • JavaScript笔记

  • CSS笔记

  • HTML笔记

  • Canvas笔记

  • Nuxt笔记

  • React笔记

    • React classnames 的使用方法
    • React de条件渲染
    • React 中 Hook 使用规则
    • React 中常用的 Hook 使用方法
    • React 元素渲染
      • 将一个元素渲染为 DOM
      • 更新已渲染的元素
      • React 只更新它需要更新的部分
    • React 自定义 Hook
    • React_16路由配置方法
    • React中的 State 与 生命周期
    • React中的事件处理
    • React中组件与Props
    • React使用State Hook
    • React技术框架
    • React组合与继承
    • React获取元素动态高度
    • Vue 或 React 中判断图片链接失效加载默认图
    • 受控组件与非受控组件
    • 如何使用Effect Hook
    • 如何将 React 项目部署到 github 的 gh-pages 分支上
    • 浅谈React受控组件与非受控组件
    • 自定义Hooks获取窗口大小
  • Vue笔记

  • TypeScript笔记

  • AI相关笔记

  • 开发文档
  • React笔记
NoteZ
2019-01-17
目录

React 元素渲染

元素是构成 React 应用的最小砖块,描述了你在屏幕上想看到的内容。

const element = <h1>Hello, world</h1>;
1

与浏览器的 DOM 元素不同,React 元素是创建开销极小的普通对象。React DOM 会负责更新 DOM 来与 React 元素保持一致。

# 将一个元素渲染为 DOM

假设你的 HTML 文件某处有一个 <div>:

<div id="root"></div>
1

根节点,React应用只有单一根DOM节点

但一个html页面可以有多个React应用,每个应用对应一个独立根节点。

const el = <h1>Hello</h1>
ReactDOM.render(el, document.getElementById('root'))
1
2

# 更新已渲染的元素

React 元素是不可变对象 (opens new window)。一旦被创建,你就无法更改它的子元素或者属性。一个元素就像电影的单帧:它代表了某个特定时刻的 UI。

根据我们已有的知识,更新 UI 唯一的方式是创建一个全新的元素,并将其传入 ReactDOM.render() (opens new window)。

考虑一个计时器的例子:

function tick() {
  // element是一个React元素
  const element = (
    <div>
      <h1>Hello, world!</h1>
      <h2>It is {new Date().toLocaleTimeString()}.</h2>
    </div>
  );
  ReactDOM.render(element, document.getElementById('root'));}

setInterval(tick, 1000);
1
2
3
4
5
6
7
8
9
10
11

注意:在实践中,大多数 React 应用只会调用一次 ReactDOM.render() (opens new window)。在下一个章节,我们将学习如何将这些代码封装到**有状态组件 (opens new window)**中。

# React 只更新它需要更新的部分

上个例子中,尽管每一秒我们都会新建一个描述整个 UI 树的元素,但React DOM 只会更新实际改变了的内容。

#React
上次更新: 2024/01/30, 00:35:17
React 中常用的 Hook 使用方法
React 自定义 Hook

← React 中常用的 Hook 使用方法 React 自定义 Hook→

最近更新
01
Gitea数据备份与还原
03-10
02
Linux 中使用 rsync 同步文件目录教程
03-10
03
Linux 使用 rsync 互相传输同步文件的简单步骤
03-08
更多文章>
Theme by Vdoing | Copyright © 2019-2025 NoteZ,All rights reserved | 冀ICP备2021027292号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式