建立 React 应用程序最小的单位是 element。 —— React 文件
这句话好像可以有两种意思,
const element = <h1>Hello, world</h1>;
ReactDOM.render(element, document.getElementById('root'));
之前有提到 Babel 会把 element 转换成 React.createElement("h1", null, "Hello, world"),但 createElement 又是什麽?把他 console.log 出来看看,其实他会产生一个 ReactDOM 物件。
以下整理 React 产生 Hello World 的流程:
在知道如何产生的 React element 之後,有两件值得注意的事
以下例子,“示意”每次 React 都会去重新画画面。
const thinkLists = ['Peter', "Sharan", "AJ", "John", "Alex"]
function tick() {
let currentPerson = Math.floor(Math.random() * 1000)
% thinkLists.length;
const element = (
<div>
<h1> Thank you, { thinkLists[currentPerson] } !!</h1>
<p> Thanks list: { thinkLists.join(", ") } </p>
</div>
);
// highlight-next-line
ReactDOM.render(element, document.getElementById('root'));
}
setInterval(tick, 1000);
因为如过需要用 setInterval 持续更新太没效率了,而且影响是整个程序的。所以文件里也提到实际大部分 React 应用程序只呼叫 ReactDOM.render() 一次,并在後面的部分将 interval 改写进元件中。而文件最後提到最重要的一句话是:「应该思考 UI 在任何时候应该如何呈现,而不是随着时间的推移改变它」。
以上今天。
[突发奇想] 如果元件是空字串画图,document.querySelector("#root") 会不会抓到东西?结果是 null,但改纯字串还是会有 root。
const element = "";
ReactDOM.render(element, document.getElementById('root'));
参考资料:
https://zh-hant.reactjs.org/docs/rendering-elements.html
Immutability in React
>>: Day-6 Divide-and-Conquer-1 : merge sort
废话不多说~直接进入正题 变数(Variable) 变数就像一个箱子,拿来装资料,且所有变数都只能出...
终於撑到了铁人赛的最後一天,这是我第一次参加铁人赛,会参赛的原因是因为在暑假的时候参与了社群活动,然...
#odoo #开源系统 #数位赋能 #E化自主 人力资源资料库,这个功能在odoo中主要透过员工模组...
前言 fetch 是 JavaScript ES6 新增的用来执行 Ajax 行为的方法,相比旧版的...
router-link to 函数 指定导向,包含以下方法 <!-- 直接指定路径 -->...