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>);
}
相关推荐
南风知我意9574 分钟前
Map 与 WeakMap 深度解析:从内存泄漏到 Vue 3 响应式原理的完整指南
前端·javascript·vue.js
github_czy5 分钟前
Vue 3 组件生命周期
前端·javascript·vue.js
越甲八千6 分钟前
Vue3启动流程和文件结构
前端·javascript·vue.js
榴莲omega10 分钟前
第11天:函数组合、记忆化与定时器
开发语言·前端·javascript
小江的记录本12 分钟前
【Docker】《 Docker 高频常用命令速查表 》
java·前端·后端·http·docker·容器·eureka
Beginner x_u13 分钟前
前端八股整理|Vue|虚拟 DOM、Diff 与 Patch 流程
前端·javascript·vue.js
kaixiang30015 分钟前
若依RuoYi实战
java·服务器·前端
NocoBase19 分钟前
为 Excel 数据快速构建 Web 应用:4 种方法对比
前端·人工智能·低代码·开源·excel
苏瞳儿28 分钟前
数据库的增删改查-node.js
前端·javascript·数据库