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>);
}
相关推荐
姜太公钓鲸2334 分钟前
Bootstrap是什么?作用是什么?使用场景是什么?如何使用?
前端·bootstrap·html
Aerelin10 分钟前
爬虫playwright中的等待机制
前端·爬虫·python
慧慧吖@15 分钟前
关于在本地去模拟生产环境检测页面内容注意事项
前端·javascript·vue.js
码农很忙23 分钟前
用SpreadJS实现分权限管理:前端技术栈的精准控制实践
前端
黄团团34 分钟前
Vue2整合Electron开发桌面级应用以及打包发布(提供Gitee源码)
前端·javascript·vue.js·elementui·electron
勇气要爆发40 分钟前
问:LocalStorage、Vuex、Pinia的区别和本质
前端
Aerelin41 分钟前
iframe讲解(爬虫playwright的特殊应用)
前端·爬虫·python·html
Drift_Dream1 小时前
IntersectionObserver:现代Web开发的交叉观察者
前端
9***P3341 小时前
前端错误监控工具
前端
东东2331 小时前
GeoJSON 介绍:Web 地图数据的通用语言
前端·javascript·json