- jsx的本质是什么?
jsx语法糖允许前端开发者使用我们最熟悉的html标签来创建虚拟dom,在降低学习成本的同事也提升了研发效率于研发体验 - jsx语法如何在js中生效的?
通过babel解析,babel是一个工具链,主要是将ECM2015+
版本的代码转化成向后兼容的javascript的语法,以便能够运行在当前和旧版本的浏览器或其他环境中 - facebook给jsx的定位是javascript的扩展。
- jsx会被编译成React.createElement(type,config,children),React.createElement()将返回一个React element的js对象
小结
开发者 - 编写jsx代码 - 通过babel解析 - 编译React.createElement调用 - 返回React element对象 - 虚拟dom - 作为参数传入React.render() - 渲染真实dom