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>);
}
相关推荐
Dxy12393102168 小时前
js如何根据开始位置结束位置在类表中取对应范围的数据
开发语言·javascript·ecmascript
Ww.xh8 小时前
Figma设计稿转React代码:ClaudeCode+MCP实战教程
前端·react.js·figma
钱端工程师8 小时前
vue自定义一个在线查看文件的组件(.xlsx、.docx、.pdf、图片等)
javascript·vue.js·pdf
p@ssword8 小时前
解决idea-2025.3.3重启项目/停止项目要点两次问题才生效问题
javascript·数据库·intellij-idea
不老刘8 小时前
破局 EMR 痛点:如何化解“护理记录跨页”与“A4物理打印”的架构冲突
前端·架构
sinat_255487818 小时前
收藏品·学习笔记
java·javascript·windows·学习·microsoft
01漫游者8 小时前
JavaScript内存管理与闭包
开发语言·javascript·ecmascript
m0_738120728 小时前
后渗透维权提权基础——CTF模拟红队进行权限维持(一)
服务器·前端·python·安全·web安全·php
朝阳398 小时前
react【实战】自定义下拉框、单选、多选、输入框
前端·javascript·react.js
涵涵(互关)8 小时前
GoView各项目文件中的相关语法3
前端·vue.js·typescript