美文网首页
React - 渲染最基本的虚拟DOM到页面上

React - 渲染最基本的虚拟DOM到页面上

作者: 辻子路 | 来源:发表于2019-07-26 10:11 被阅读0次

安装React相关包

npm install react react-dom

  • react: 专门用于创建组件和虚拟DOM的,同时组件的生命周期在这个包中
  • react-dom: 专门进行DOM操作的,最主要的应用场景就是ReactDOM.render()

渲染最基本的虚拟DOM到页面上

  • 引用react和react-dom包
import React from 'react'; // 创建组件,虚拟DOM,生命周期
import ReactDOM from 'react-dom'; // 创建好的组件和 虚拟DOM放到页面上展示  
  • 创建虚拟DOM元素
// 创建虚拟DOM元素  
// 参数1: 创建的原色的类型,字符串,表示元素的名称
// 参数2: 是一个对象或者null, 表示 当前这个DOM元素的属性  
// 参数3: 子节点(包括其它 虚拟DOM 获取文本子节点)
// 参数n: 其它子节点
// <h1 id="myh1" title = "this is a h1"> 这是一个大大的H1</h1>
// const myh1 = React.createElement('h1', null, '这是一个大大的H1')
const myh1 = React.createElement('h1', { id: 'myh1', title: 'this is a h1' }, '这是一个大大的H1')
  • 创建一个虚拟div DOM元素来包含上面定义的虚拟DOM
const mydiv = React.createElement('div', null, '这是一个div', myh1)
  • 使用ReactDOM把虚拟DOM渲染到页面上
// 使用ReactDOM把虚拟DOM渲染到页面上 
// 参数1: 要渲染的那个虚拟DOM元素  
// 参数2: 指定页面上一个DOM元素,当作容器
ReactDOM.render(mydiv, document.getElementById('app'))
  • index.html创建个容器
<body>
    <!--创建一个容器,将来 渲染的虚拟DOM会放到这个容器中-->
    <div id="app"></div>
</body>

相关文章

  • React - 渲染最基本的虚拟DOM到页面上

    安装React相关包 npm install react react-dom react: 专门用于创建组件和虚拟...

  • React 更新机制

    React 的更新流程 React 的渲染流程是: JSX → 虚拟 DOM → 真实 DOM React 的更新...

  • React 渲染机制

    React 渲染过程 在使用 React 构建应用时,总有一个步骤是将组件 / 虚拟 DOM 树渲染到真实的 DO...

  • React diff算法

    React根据JS对象构造的元素生成虚拟Dom树,对比虚拟Dom节点的变化来渲染真正的Dom树 因为传统Dom树的...

  • 虚拟 DOM 和 DOM diff

    概念 虚拟DOM 是什么:其实就是个js对象虚拟 dom 是相对于浏览器所渲染出来的真实 dom 的,在react...

  • react性能优化

    React 使用虚拟 DOM,它是在浏览器中的 DOM 子树的渲染描述,这个平行的描述让 React 避免创建和操...

  • 什么是虚拟DOM?如何实现一个虚拟DOM?说说你的思路

    一、什么是虚拟DOM 虚拟 DOM (Virtual DOM )这个概念相信大家都不陌生,从 React 到 Vu...

  • react-dom

    react-dom包提供了DOM的特定方法。 render()和hydrate() 都是将React元素渲染到容器...

  • react和vue的渲染流程对比

    react和vue的渲染流程对比.md react是facebook创建的框架,它推广了虚拟dom和新的js语法-...

  • 虚拟DOM/DOM DIFF理解

    因为React、Vue框架的出现,页面渲染采用了更高效的虚拟DOM。 一个dom元素中有许多属性,操作dom是很耗...

网友评论

      本文标题:React - 渲染最基本的虚拟DOM到页面上

      本文链接:https://www.haomeiwen.com/subject/lezlrctx.html