你可以使用变量来储存元素。它可以帮助你有条件的渲染组件的一部分,而输出的其他部分不会更改。
考虑如下代码:
// LoginStatus.jsclass LoginStatus extends Component {render () {const isLoggedIn = this.props.isLoggedIn// 这里最好初始化声明为 `null`,初始化又不赋值的话// 小程序可能会报警为变量为 undefinedlet status = nullif (isLoggedIn) {status = <Text>已登录</Text>} else {status = <Text>未登录</Text>}return (<View>{status}</View>)}}// app.jsimport LoginStatus from './LoginStatus'// 这样会渲染 `已登录`class App extends Component {render () {return (<View><LoginStatus isLoggedIn={true} /></View>)}}
在以上代码中,我们通过 isLoggedIn 作为参数来判定 status 显示什么内容,当 isLoggedIn 为 true 时 显示 「已登录」,反之显示「未登录」。
声明变量并使用 if 语句是条件渲染组件的不错的方式,但有时你也想使用更简洁的语法,在 JSX 中有如下几种方法。
