React JSX 使用条件语句渲染UI的两种写法

只针对函数组件

  1. 第一种写法:
javascript 复制代码
function App({ id }) {
  return id==1? <h1>hello</h1> : <h1>world</h1>;
}

或者:

javascript 复制代码
function App({ id }) {
  return (<h1>{id==1 && "hello" || id==2 && "world" || "unknown"}</h1>)
}
  1. 如果需要条件细分,第二种写法
javascript 复制代码
function App({ id }) {
  let content = ""
  if (id==1) {
    content = "hello" //如果包含html标签,默认会被转义
  }
  else if (id==2) {
    content = "world"
  }
  return (<h1>{content}</h1>);
}
  1. 第三种写法:
javascript 复制代码
function App({ id }) {
  return (<h1>{(()=>{
    if (id==1) {
      return "hello"
    }
    else if (id==2) {
      return "world"
    }
  })()}</h1>);
}

switch同理:

javascript 复制代码
function App({ id }) {
  return (<h1>{(()=>{
    switch(id) {
      case 1:
        return "hello"
      case 2:
        return "world"
      default:
        return "unknown"
    }
  })()}</h1>);
}
相关推荐
Ulyanov6 分钟前
打造现代化雷达电子对抗仿真界面 第二篇:雷达电子对抗仿真系统核心功能实现
前端·python·信息可视化·数据可视化·系统仿真·雷达电子战
鬣主任7 分钟前
重生之我上班学React----360档案篇。
javascript·react.js
快乐小土豆~~8 分钟前
上传视频时截取正脸照片
前端·音视频·vladmandic
276695829218 分钟前
token1005 算法分析
java·前端·javascript·token·token1005·携程酒店·token算法分析
乆夨(jiuze)19 分钟前
记录一个css,实现下划线内容显示,支持文本多行显示
前端·css
GISer_Jing21 分钟前
前端视频多模态:编解码、传输、渲染全链路详解
前端·人工智能·音视频
恋猫de小郭28 分钟前
Flutter PC 多窗口最新进展,底层原生窗口句柄支持已合并
android·前端·flutter
LIO41 分钟前
Vue3 + Vite + Pinia + TypeScript 项目完整搭建与实战指南
前端·vue.js
kilito_0142 分钟前
vue官网例子 讲解2
前端·javascript·vue.js
蜡台43 分钟前
Vue实现动态路由
前端·javascript·vue.js·router