0
点赞
收藏
分享

微信扫一扫

react技术全家桶(5)jsx语法规则

jsx
1.全称:javascript xml
2.react定义的一种类似于xml的js扩展语法:js+XML
3.本质是react.createElement(component,props,…children)方法的语法糖
4.作用:用来简化创建虚拟DOM
5.写法:var ele =

hello jsx!


注意1.ele 不是字符串 所以不需要单引号 也不是HTML/XML标签
注意2.它最终产生的就是一个js对象。

语法:

1.标签中混入JS表达式时要使用{} 就是读取变量用{}
const myId = ‘aTguiGu’
const myData = ‘Hello,React88888888’
const VDOM = (


{myData}

        </h2>
)

2.写入样式:

const VDOM = (


{myData}

        </h2>
)

结果:
在这里插入图片描述
效果出来了 但是会有一个报错:
在这里插入图片描述
意思是 class属性无效 是不是想用className。
所以应该这么写:
const VDOM = (


{myData}

        </h2>
)

3.给span写个内联样式 内联样式要用style={{key:value}} key为小驼峰
const VDOM = (


{myData}

        </h2>
)

直接报错:
在这里插入图片描述
意思是style属性不能写成字符串。同时给了个举例子:style={{marginRight:spacing+‘em’}}
正确的写法:
const VDOM = (


<span style={{color:‘white’,fontSize:‘20px’}}>{myData}

        </h2>
)

4.虚拟DOM中只能由一个跟标签
加了一个input,
直接报错:
在这里插入图片描述
正确写法:
const VDOM = (



<span style={{ color: ‘white’, fontSize: ‘20px’ }}>{myData}



    )

5.标签必须闭合
这个写法是错的 没有闭合

6.jsx语法能写哪些标签:
如此写法:
const VDOM = (



<span style={{ color: ‘white’, fontSize: ‘20px’ }}>{myData}



666

    )
能出来666 但是结果报错了

在这里插入图片描述

在这里插入图片描述

这个错误是说 浏览器不认识good标签 ,你是不是想渲染一个组件,那么首字母用大写。
安排:
const VDOM = (



<span style={{ color: ‘white’, fontSize: ‘20px’ }}>{myData}



666

    )

在这里插入图片描述
啥也不是有报错了 没有定义。确实没有定义哈
如果标签首字母是小写的,就会被对应转化为html标签如h1 如果不能转化为html标签的 报错 如good
如果标签首字母是大写的,react就去渲染对应的组件,若组件没有定义,则报错没有定义

完整代码:

jsx语法
举报

相关推荐

0 条评论