学习资料:http://huziketang.mangojuice.top/books/react/
JSX:其实就是一个JavaScript对象
为什么要有react-dom?
有些同学可能会问,为什么不直接从 JSX 直接渲染构造 DOM 结构,而是要经过中间这么一层呢?
第一个原因是,当我们拿到一个表示 UI 的结构和信息的对象以后,不一定会把元素渲染到浏览器的普通页面上,我们有可能把这个结构渲染到 canvas 上,或者是手机 App 上。所以这也是为什么会要把 react-dom
单独抽离出来的原因,可以想象有一个叫 react-canvas
可以帮我们把 UI 渲染到 canvas 上,或者是有一个叫 react-app
可以帮我们把它转换成原生的 App(实际上这玩意叫 ReactNative
)。
第二个原因是,有了这样一个对象。当数据变化,需要更新组件的时候,就可以用比较快的算法操作这个 JavaScript 对象,而不用直接操作页面上的 DOM,这样可以尽量少的减少浏览器重排,极大地优化性能。这个在以后的章节中我们会提到。