条件渲染
条件渲染和 javascript 里的 if else 一样,你可以创建不同组件用来不同状态下的 UI 展示。
基本例子
比如,我们可以根据用户登陆状态展示不同的组件。
import { FC } from 'gyron'
const Guest = FC(() => {
return <div>Please sign up</div>
})
const User = FC(() => {
return <div>Welcome</div>
})
const Home = FC(({ isLogin }) => {
return isLogin ? <User /> : <Guest />
})
上述代码中有一个传入的isLogin
变量,当它为Truthy时,便会展示 Welcome 文字,否则会展示 Please sign up。
逻辑运算符(&&)
&&
运算符在组件中也是比较重要的功能,比如当 CPU 大于一个阈值时报警。
const CpuAlert = () => {
return <div>Warning: cpu usage exceeds 90%</div>
}
const App = ({ cpuUsed }) => {
return cpuUsed > 0.9 && <CpuAlert />
}
当 cpu 大于 90%时候会展示 Warning: cpu usage exceeds 90%,如果小于 90%页面中将什么都不展示,在 dom 元素中会有一个注释节点用来占位。(打开控制台就可以看到<!---->)