You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JSX中使用if-else条件判断?

在JSX中实现if-else条件判断的示例方案

在React的JSX语法里,我们没办法直接在渲染的JSX代码块中写入if-else语句,但可以通过提取独立方法的方式,优雅地实现条件渲染逻辑。下面是一个完整的示例组件,演示如何根据不同的props状态返回对应的JSX内容:

class Wrapper extends React.Component {
  content() {
    if (this.props.isLoading) {
      return (
        <Layout>
          <Loader />
        </Layout>
      );
    } else if (this.props.isError) {
      return (
        <Layout>
          <Error errorMsg={this.props.error} />
        </Layout>
      );
    } else {
      return (
        <Layout>
          {this.props.isSuccess ? <h1>success</h1> : <h1>some failure</h1>}
        </Layout>
      );
    }
  }

  render() {
    return this.content();
  }
}

export default Wrapper;

逻辑说明:

  • 我们把条件判断逻辑封装在content()方法中,根据组件接收的isLoading、isError、isSuccess这几个props的状态,分别返回不同的JSX结构
  • 在正常状态(既不是加载中也没有错误)时,还嵌套使用了三元表达式做进一步的细粒度判断,这也是JSX中常用的简洁条件渲染方式
  • 最后在render()方法里直接调用content(),就能把对应状态的内容渲染出来

内容的提问来源于stack exchange,提问作者sravan ganji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:38:41