计算属性
使用 getters 封装 render 所需要的状态或条件的组合
对于返回 boolean 的 getter 使用 is- 前缀命名
// bad
render () {
return (
<div>
{
this.state.age > 18
&& (this.props.school === 'A'
|| this.props.school === 'B')
? <VipComponent />
: <NormalComponent />
}
</div>
)
}
// good
get isVIP() {
return
this.state.age > 18
&& (this.props.school === 'A'
|| this.props.school === 'B')
}
render() {
return (
<div>
{this.isVIP ? <VipComponent /> : <NormalComponent />}
</div>
)
}