react 也就这么回事 04 —— 元素渲染
2022-03-01 16:11
1276 查看
为了便于后续理解,我们再来回顾和总结前面几个章节的内容
1 元素及其创建
元素是构成 React 应用的最小砖块。
元素描述了你在屏幕上想看到的内容。
const element = <h1>Hello, world</h1>;
与浏览器的 DOM 元素不同,React 元素是创建开销极小的普通对象。React DOM 会负责更新 DOM 来与 React 元素保持一致。
我们用
React.createElement来创建 React 元素(语法上还可以使用其语法糖 JSX)
2 将一个元素渲染为DOM
想要将一个 React 元素渲染到指定的 DOM 节点中,只需把它们一起传入 ReactDOM.render()
:
const element = <h1>Hello, world</h1>;ReactDOM.render(element, document.getElementById('root'));
3 更新UI
React 元素是不可变对象。一旦被创建,你就无法更改它的子元素或者属性。一个元素就像电影的单帧:它代表了某个特定时刻的 UI。
根据我们已有的知识,更新 UI 唯一的方式是创建一个全新的元素,并将其传入 ReactDOM.render()
。
考虑一个计时器的例子:
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);
这个例子会在 setInterval()
回调函数,每秒都调用 ReactDOM.render()
。
4 React 只更新它需要更新的部分
React DOM 会将元素和它的子元素与它们之前的状态进行比较,并只会进行必要的更新来使 DOM 达到预期的状态。
例如前面计时器的例子,尽管每一秒我们都会新建一个描述整个 UI 树的元素,React DOM 只会更新实际改变了的内容,也就是例子中的文本节点。
公众号【前端嘛】
相关文章推荐
- react 也就这么回事 01 —— React 元素的创建和渲染
- react 也就这么回事 02 —— JSX 插值表达式、条件渲染以及列表渲染
- React--Rendering Elements(渲染元素)
- React.js 官网资料摘记:元素渲染
- 前端框架React - 渲染元素
- 一道 React 面试题:在浏览器、组件和元素中都渲染了些什么?
- React文档(四)渲染元素
- React的安装及元素渲染应用(二)
- React官网(1)—元素渲染
- React之元素渲染
- 第一节,加载react native js文件的方法和渲染元素
- React循环遍历渲染数组和对象元素
- 03. react 初次见面---元素渲染
- React官方文档—4.元素渲染
- React 元素渲染
- React的小案例:&&运算符、元素变量、三目运算符与React的条件渲染都在这里了
- react组件和元素
- react父级捕获事件实现子元素切换状态
- 【Java】垃圾回收原来是这么回事
- React从入门到精通系列之(14)refs和DOM元素