美文网首页
拓展(React 2)

拓展(React 2)

作者: 郑无穷大 | 来源:发表于2018-10-17 13:07 被阅读0次

为什么不直接从 JSX 直接渲染构造 DOM 结构,而是要经过中间这么一层呢?

第一个原因是,当我们拿到一个表示 UI 的结构和信息的对象以后,不一定会把元素渲染到浏览器的普通页面上,我们有可能把这个结构渲染到 canvas 上,或者是手机 App 上。所以这也是为什么会要把 react-dom 单独抽离出来的原因,可以想象有一个叫 react-canvas 可以帮我们把 UI 渲染到 canvas 上,或者是有一个叫 react-app 可以帮我们把它转换成原生的 App(实际上这玩意叫 ReactNative)。

第二个原因是,有了这样一个对象。当数据变化,需要更新组件的时候,就可以用比较快的算法操作这个 JavaScript 对象,而不用直接操作页面上的 DOM,这样可以尽量少的减少浏览器重排,极大地优化性能。这个在以后的章节中我们会提到。

React.js 将组件渲染,并且构造 DOM 元素然后塞入页面的过程称为组件的挂载

相关文章

  • 拓展(React 2)

    为什么不直接从 JSX 直接渲染构造 DOM 结构,而是要经过中间这么一层呢? 第一个原因是,当我们拿到一个表示 ...

  • react拓展

    setState() setState更新状态的2种方式 对象式的setState 函数式的setState 对象...

  • 前端学习之路

    1,非常熟悉html布局,css样式,以及原生js 。熟悉es6语法 。 2,拓展react和vue框架等流行框架...

  • 拓展4 (React)

    以下读http://www.ruanyifeng.com/blog/2015/03/react.html 笔记 J...

  • 拓展 (React 4)

    React-redux 产生原因: 一个状态可能被多个组件依赖或者影响,兼顾组件之间共享状态问题和共享状态可能被任...

  • 拓展 React3

    一、高阶组件(Higher-Order Components) 高阶组件就是一个函数,传给它一个组件,它返回一个新...

  • React拓展2-路由组件的lazyLoad

    lazyLoad懒加载:需要使用的时候再进行加载 当未使用懒加载时,页面一打开,就将所有的路由组件给加载到页面了 ...

  • react JSX语法

    jsx语法 概念:react定义的一种类似于xml的js拓展语法 作用:用来创建react的虚拟DOM对象的var...

  • react 学习笔记 使用 jsx 语法

    react 学习笔记 使用 jsx 语法 概念 JSX 是一种 JavaScript 的语法拓展。我们推荐 rea...

  • Visual Studio Code作为React Native

    1、React Native Tools 2、React-Native/React/Redux snippets ...

网友评论

      本文标题:拓展(React 2)

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