您也可以尝试使用三元运算符,我们觉得它对我们来说非常易读。
{
isPassed ?
<a href={'/uri'}><span>Import</span></a> :
<span>Import</span>
}
但是在多个条件的情况下,也可以编写一个 renderComponent 方法,例如:
class SomeComponent extends Component {
renderComponent(isPassed) {
switch(isPassed) {
case 0:
return <span>One</span>
case 1:
return <span>Two</span>
default:
return <span>None</span>
}
}
render() {
return {
<div>{ this.renderComponent(this.props.isPassed) }</div>
}
}
}
此外,如果您有使用 props 的复杂组件,则使用具有更多选项的渲染组件:
renderComponent({ isPassed, text }) {
switch(isPassed) {
case 0:
return <span>One {text}</span>
case 1:
return <span>Two {text}</span>
default:
return <span>None</span>
}
}
// Say this.props has => isPassed and text as a key
<div>{ this.renderComponent(this.props) }</div>