当前位置 博文首页 > CSDN凉宸:只需5分钟教会你使用React中的JSX
JSX是Javascript的一种语法拓展
JSX是JavaScript XML简写,表示在JavaScript中编写XML格式代码(也就是HTML格式)
优势:
JSX是react的核心
const title = <h1 >HELLO</h1>
ReactDOM.render(
title,
document.getElementById('root')
);
class属性:
<span/>
结束const name = '张三'
const title = (
<h1 className="title">
HELLO {name}
</h1>
)
const title = (
<h1 className="title">
<p>{1}</p>
<p>{1 + 1}</p>
<p>{'HELLO'}</p>
<p>{10 < 5 ? '是的' : '不是'}</p>
</h1>
)
const p = (
<p>
HELLO
</p>
)
const title = (
<h1 className="title">
{p}
</h1>
)
const isShow = false
const show = () => {
if (isShow) {
return <div>我是true</div>
}
return (<div> 我是false</div>)
}
const title = (
<h1 className="title">
{show()}
</h1>
)
-可以使用id/else或三元运算符或逻辑与运算符实现
三元:
const isShow = true
const show = () => {
return isShow ? (<div>我是true</div>) : (<div>我是false</div>)
}
const title = (
<h1 className="title">
{show()}
</h1>
)
逻辑与:
const isShow = true
const show = () => {
return isShow && (<div>显示</div>)
}
const title = (
<h1 className="title">
{show()}
</h1>
)
const names = [
{ id: 1, name: '张三' },
{ id: 2, name: '李四' },
{ id: 3, name: '王五' },
{ id: 4, name: '赵四' },
{ id: 5, name: '刘能' }
]
const title = (
<ul className="title">
{names.map(item => <li>{item.name}</li>)}
</ul>
)
但是会有报错
意思就是没有key值 我们设置一下即可
const names = [
{ id: 1, name: '张三' },
{ id: 2, name: '李四' },
{ id: 3, name: '王五' },
{ id: 4, name: '赵四' },
{ id: 5, name: '刘能' }
]
const title = (
<ul className="title">
{names.map(item => <li key={item.id}>{item.name}</li>)}
</ul>
)
此时就不报错了
const title = <h1 style={{ color: 'red', backgroundColor: '#000' }}>HELLO</h1>