Hello World以及jsx语法糖的介绍

创建app/App.js文件,这是一个组件

Hello World以及jsx语法糖的介绍

然后在相同目录下创建main.js文件

Hello World以及jsx语法糖的介绍

引用组件:

Hello World以及jsx语法糖的介绍


二、简单介绍jsx语法糖

jsx不能直接运行 ,是被babel - loader 中的react这个preset翻译的

翻译前:

Hello World以及jsx语法糖的介绍

翻译后:

Hello World以及jsx语法糖的介绍


必须注意:

(1)被一个单独的大标签包裹,比如div或者section

错误的:

Hello World以及jsx语法糖的介绍

正确的:应该被一个div包裹起来,小括号也挺好用的:

Hello World以及jsx语法糖的介绍


return后面为什么要加括号:是因为如果不加的话,jsx语句一换行的话,return后面就会有默认的封号,,所以要加圆括号

(2)标签必须封闭

比如<br>标签后面必须加斜杠,就是<br/>

也就说所有单标签后面都要有斜杠

(3)class要写成className,for要写成htmlFor


return (

<div className="你好">没有什么是正确的</div>

)

(4)HTML注释不能用,只能用JS的注释


JSX中可以使用{}表示临时插入一个js简单表达式,不能是if、for等复杂结构,可以是&&、||短路语法,可以是?三元运算符,可以调用函数。

(5)原生标签比如 p、li、div 如果要使用自定义属性,必须用data -前缀。

错误:

Hello World以及jsx语法糖的介绍

正确的:

Hello World以及jsx语法糖的介绍

如果是自定义标签,可以随意传属性:

Hello World以及jsx语法糖的介绍

(6)JSX表达式用{ }单大括号包裹,在JSX中不能使用if else语句,但可以使用conditional(三元运算)表达式来替代。一下实例中如果变量 i 等于1 浏览器将输出 true,如果修改 i 的值,则会输出 false。

Hello World以及jsx语法糖的介绍


(7)可以运行函数:

Hello World以及jsx语法糖的介绍

自定义函数里面可以加入  一些 if-else if语句

Hello World以及jsx语法糖的介绍Hello World以及jsx语法糖的介绍


(8)样式使用双大括号

Hello World以及jsx语法糖的介绍


(9)可以使用数组,数组中如果是JSX语法,数组会被自动展开,所以不需要使用ng - repeat这样的指令展开数组

Hello World以及jsx语法糖的介绍定义一个数组,定义的JSX项目上要求有key属性,只要是重复的数组项目,都要有不能重复的key属性。



心得体会:

感觉通过这位老师的讲解,使我更加明白了JSX的语法,还有react的组件的构成,感觉学习一个新的知识,懂其原理还是挺重要的。