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>);
}
相关推荐
花生Peadar11 分钟前
AI编程从入门到精通
前端·后端·代码规范
bug爱好者12 分钟前
vue3.x 使用vue3-tree-org实现组织架构图 + 自定义模版内容 - 附完整示例
前端·javascript·vue.js
flashlight_hi18 分钟前
LeetCode 分类刷题:1669. 合并两个链表
javascript·leetcode·链表
达达尼昂21 分钟前
🎯 Flutter 拖拽选择组件:flutter_drag_selector —— 像选文件一样选择列表项
前端·flutter
Keely4028540 分钟前
Claude 配置使用墨刀MCP(modao-proto-mcp)
前端·aigc·claude
少卿1 小时前
从零构建 React Native 导航体系-React Navigation
前端·react native
Wect1 小时前
学习React-DnD:实现 TodoList 简单拖拽功能
前端·react.js
前端小书生1 小时前
Google Map、Solar Api
前端·react.js·google
毕设十刻1 小时前
基于Vue的售票系统开发3g480(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
行走的陀螺仪1 小时前
前端CI/CD 流程
前端·ci/cd·工程化·自动化构建