小编典典

反应:我可以在渲染状态之前检查状态是否存在

reactjs

我是React的新手,我制作了一个导航栏,显示用户名user

<NavItem eventKey={4} href="#">{this.state.name}</NavItem>

但是问题是如果用户未登录,由于this.state.name未定义,我会收到错误消息。有什么方法可以将this.state.name呈现为导航栏的一部分之前检查是否已定义,或者有更好的方法摆脱此错误?


阅读 240

收藏
2020-07-22

共1个答案

小编典典

当然,请使用三元:

render() {
  return (
    this.state.name ? <NavItem>{this.state.name}</NavItem> : null
  );
}

甚至更短

render() {
  return (
    this.state.name && <NavItem>{this.state.name}</NavItem>
  );
}
2020-07-22