学什么?
认识JSX
以上图为例,将一段html赋值给一个变量,这种语法在普通<script>中会报错。但是在<script type="text/babel">中能正常解析。其中,html赋值给js变量的语法叫做JSX。
- vue把html写在template中,react将html写在js中
- react不需要学习指令,只需要js
- react中,html,css,js全写在js中
为什么react选择jsx
因为react认为渲染逻辑【界面元素展示】本质上与其他UI逻辑【js逻辑】存在内在耦合,如:
- UI要绑定事件,事件通过js处理:button的click事件
- UI中要展示数据
- 某些数据改变,UI也要改变 因此干脆,发明一种语法,html中通过事件触发js逻辑,js中也可以修改html,这种语法就叫JSX(javascript XML 或 javascript eXtension)
jsx书写规范
- jsx中顶层只能有一个根元素,一般在外层包裹一个div
- 为了方便阅读,通常在render(())中包裹一个小括号,方便换行
- jsx中标签是可以是单标签和双标签,单标签必须</>结尾