jsx是javascript XML的简写,即为在js代码中写HTML(XML)格式的代码
react包中createElement的问题
- 不简洁
- 不优雅
- 不直观
jsx用于解决不直观的问题,提升开发效率
使用注意事项
- react属性全部驼峰
- class = className for = htmlFor tabindex = tabIndex
- 没有子节点的元素可以用/>结束
- 推荐使用()来包裹JSX语法避免js自动加入分号导致报错
- 变量用{}单括号,注意这里和vue中不一样{{}}
- 行内样式 style = {{ color: “red”, backgroundColor: “blue”}}
条件渲染
const loadData = (loading) => {
if (loading) {
return <div>loading</div>
} else {
return <div>Data</div>
}
// 逻辑运算符优化
// return loading ? (<div>loading</div>): <div>Data</div>
}
{loadData(isLoading)}
列表渲染
使用map,因为map有返回值
//列表渲染
let list = [1,2,3,4,5,5,6]
<ul>
{list.map((item,index)=> <li key={index + item}>{item} map项</li>)}
</ul>