JSX可以简化代码,让我们从乱七八糟的各种括号中解脱出来,它和HTML类似,但不是有效的js代码,不能直接在浏览器中运行,需要转换!!!!
Babel
能够转换最新的js语法,以及jsx
基本原理是:引入一个转换库文件,声明转换区域type="text/babel"告诉Babel脚本
JSX和HTML的双向转换:都有在线工具
JSX看作是HTML和JS(JS部分需要用{}包裹住)
JSX的空格:
1)空格字符
2)字符串中有空格
3)多个空格会合并成一个
4)仅仅回车是没有空格的
为了防范XSS的攻击,React会对HTML进行转义,HTML->HTML实体->HTML
JSX中:
1)使用htmlFor代替for
2)使用className代替class
3)行内样式,style属性值:style属性名驼峰写法(对象非字符串)
4)JSX中的所有HTML标签都需要闭合
React中,在input元素中,无论是否预先定义了value属性,读取到的value属性总是和输入一致,指定默认值时用defaultValue属性