我有一个通知组件,我有一个超时设置。超时后我打电话 this.setState({isTimeout:true})
。
我想要做的是如果已经超时,我只想渲染什么:
render() {
let finalClasses = "" + (this.state.classes || "");
if (isTimeout){
return (); // here has some syntax error
}
return (<div>{this.props.children}</div>);
}
问题是:
返回 (); // 这里有一些语法错误
原文由 Xin 发布,翻译遵循 CC BY-SA 4.0 许可协议
是的,你可以,但不是空白,而是简单地返回
null
如果你不想render
来自组件的任何东西,像这样:另一个重要的一点是,在 JSX 中,如果您有条件地渲染元素,那么在
condition=false
的情况下,您可以返回任何这些值false, null, undefined, true
。根据 文档:所有这些
JSX
表达式将呈现为相同的东西:例子:
只有奇数值会被渲染,因为对于偶数值我们会返回
null
。