【Day03】渲染元素 Rendering Element

React 的核心之一是 JSX 语法,
这意味着整个网页内容,包含 HTML 与 CSS,
基本上都是由 JS 产生的。

用 React 撰写的程序中,
所有介面都会以一个「root DOM node」为起点。

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

如果要在画面上渲染出如下,
以 JSX 撰写成的 React 元素

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

使用以下语法,
就能将 element 显示到页面的 #root tag 中

import ReactDOM from 'react-dom'

ReactDOM.render(element, document.getElementById('root'));

关於 React 的元件渲染

  • React element 是不可变(immutable)物件,一旦建立後就不能再修改
  • 更新 UI 唯一的方式是建立一个新的 element,并重新传入 ReactDOM.render()
  • render 时, React 会比较 element 前後状态,并只更新需要变动的 DOM 以避免不必要的资源浪费

可参照以下官网范例,最小的 render 单位不是被宣告的 element,而是 DOM 节点,因此以下程序码 render 出来的 UI,只有 h2 标签会改变

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

setInterval(tick, 1000);

<<:  第4天~点餐系统

>>:  [Python 爬虫这样学,一定是大拇指拉!] DAY04 - 关於爬虫

【Day18】在 Python 里头利用 Mido 进行编曲

Message in MIDI 书接昨日,在 MIDI 里面有固定的格式在记录声音的讯号,因为实在是...

【从实作学习ASP.NET Core】Day12 | 後台 | 资料筛选与分页

前面我们已经完成了 Create 和 Details , 今天就来实作 List 页面 List 页...

C# Web API 502 Bad GateWay 问题排解

前情提要 使用HttpClient Post时,碰到API无回应,大约两分钟後出现502 Bad G...

Day2 理解 golang slice 用法及原理 II

续上篇 Day1 理解 golang slice 用法及原理 I 什麽是 slice 是的容量 (c...

[Day 4] 咱们一起做资料清理和前处理

咱们一起做资料清理和前处理 今日学习目标 资料如何清理 什麽是资料清理? 资料前处理的方式 为什麽资...