jsx的语法
1.定义
写在js文件中的html格式的语言
jsx比html严格多了,每个元素必须要有闭合
2.定义虚拟DOM对象
直接使用html标签就可以定义虚拟DOM对象
必须用唯一的根元素来进行包裹
var div=<div>123456</div>
3.插值表达式{}
插值表达式内可以写数字,字符串,boolean值
当需要在jsx控制的区域内引用js中的对象时,就需要使用{}
var aa=111
var div=<div>{aaa}</div>
4.将字符串数组转换为jsx数组
- foreach循环遍历
var arrStr=['1','2']
var arr=[]
arrStr.forEach(i=>{
var temp=<div>{i}</div>
arr.push(temp)
})
- map循环遍历
var arrStr=['1','2']
var arr=arrStr.map(i=>{
return <div>{i}</div>
})
//或者直接在虚拟DOM对象中写
var div=<div>{arrStr.map(i=>{
return <div>{i}</div>})}</div>
//简写
var div=<div>arrStr.map((i,index)=><div key={index}>{i}</div>)
在react中,key值要加在被循环直接控制的元素中,就是加在最外层的元素中
key值得作用参考Vue中的一些指令中v-for的key值作用
5.注释
在定义虚拟DOM对象中如何写注释
单行注释
var div=<div>
//
</div>
多行注释
var div=<div>/**/</div>
推荐使用多行注释
6.一些替换
- class
因为class是js中的关键字,为了防止歧义,使用className来代替
var div=<div className="myclass"></div>
- label中的for属性
因为js中存在for循环,for也是js的关键字,为了防止歧义,使用htmlFor来代替
var label=<label htmlFor=""></label>
|你知道的越多,不知道的越多。 |如果本文章内容有问题,请直接评论或者私信我。如果觉得写的还不错的话,点个赞也是对我的支持哦。 |未经允许,不得转载!|微信搜【程序员徐小白】,关注即可第一时间阅读最新文章。回复【面试题】有我准备的50道高频校招面试题,以及各种学习资料。

浙公网安备 33010602011771号