React学习之源码理解

64 阅读1分钟

首先是jsx底层原理,接踵而至的是关于jsx的三个问题

  • jsx本质是什么,和js的关系到底是什么?
  • 为什么会用jsx不用会有什么后果?
  • jsx背后的功能模块是什么?这个功能模块都做了哪些事情?
引入官网JSX概念:是javascript语法扩展,和模板语言很接近,但是充分具备javascript的能力。

那么jsx语法是如何在js中生效的? JSX语法会被Bable编译成React.createElement(),React.createElement()将返回一个React Element的js对象。 实际上,jsx就是React.createElement()的语法糖,jsx语法糖允许前端开发者使用我们最为熟悉的HTML标签语法来创建虚拟DOM,降低学习成本的同时,提升了研发效率和研发体验。

那么JSX是如何映射为DOM的?

image.png

image.png

Fiber