掌握React100问 进度条:4~6

198 阅读1分钟

4.react、react-dom为什么要单独引入,而不合在一起?

为了更好让react可以被更多平台使用,比如react既可以用来开发网页,也可以用来开发客户端,比如react-native

react-dom针对web和native所完成的事情不同:

  •  web端:react-dom会将jsx最终渲染成真实的DOM,显示在浏览器中
  • native端:react-dom会将jsx最终渲染成原生的控件(比如Android中的Button,iOS中的UIButton)。

5.react为什么需要依赖babel?

浏览器只识别js语法,理论上我们也可以使用js编写react,但写法太过繁琐,所以我们一般使用jsx语法来写react,最后再通过babel转化成浏览器能识别的js语法。

课外:

babel是一个插件,可以把浏览器不支持的语法转化成支持的js

6.什么是jsx?

不太严谨地讲:只要你把HTML代码写在JS里,那就是JSX。

简单的jsx长这样:

const element = <h1>Hello, world!{msg}</h1>  

为什么可以这么写 ==> 还记得babel的作用吗?

当然jsx也有一些细节要注意,有些关键字跟普通的HTML是不太一样的,不如class在jsx中要写成className等等,这个以后再讲解