深入浅出 React
大约 1 分钟
本文旨在真正吃透 React 知识链路与底层逻辑
1. 深入浅出 React
1.1 JSX 底层原理
关于
JSX的 3 个大问题
JSX的本质是什么,它和JS之间到底是什么关系?
- 为什么使用 
JSX? 不用会有什么后果? 
- 为什么使用 
 JSX背后的功能模块是什么? 这个功能模块都做哪些事情?
JSX本质
JSX是JS的一种语法扩展,它和模板语言很接近,但是它充分具备JS的能力
JSX语法是如何在JS中生效的?
JSX会被编译成React.createElement(),React.createElement()会返回一个叫做React Element的JS对象,其中编译的动作是由Babel完成的。

什么是
Babel?
主要用于将高版本的
JS代码转为向后兼容的JS代码,从而能让我们的代码运行在更低版本的浏览器或者其他的环境中。比如我们在代码中使用了
ES6箭头函数:
// Babel 编译前的代码
var fn = (num) => num + 2;
但如果用低版本浏览器运行的话会出现报错;但是经过 Babel 编译之后的代码就可以运行在低版本的浏览器中了
// Babel 编译后的代码
var fn = function fn(num) {
  return num + 2;
}
React选用JSX语法的动机
JSX语法糖允许前端开发者使用最为熟悉的类HTML标签语法来创建虚拟DOM,在降低学习成本的同时,也提升了研发效率与研发体验
TO BE CONTINUE...