条件渲染

收藏785

阅读2239

更新时间2025-08-20

在 React 中,您可以有条件地渲染组件。

有几种方法可以做到这一点。


if 语句

我们可以使用 if JavaScript 操作符来决定渲染哪个组件。

实例:

我们将使用这两个组件:

function MissedGoal() {
  return 

MISSED!

; } function MadeGoal() { return

Goal!

; }

实例:

现在,我们将创建另一个组件,根据条件选择要渲染的组件:

function Goal(props) {
  const isGoal = props.isGoal;
  if (isGoal) {
    return ;
  }
  return ;
}

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render();

运行实例 »

尝试将 isGoal 属性更改为 true:

实例:

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render();

运行实例 »


逻辑&&运算符

另一种有条件地渲染 React 组件的方法是使用 && 运算符。

实例:

我们可以使用花括号在 JSX 中嵌入 JavaScript 表达式:

function Garage(props) {
  const cars = props.cars;
  return (
    <>
      

Garage

{cars.length > 0 &&

You have {cars.length} cars in your garage.

} ); } const cars = ['Ford', 'BMW', 'Audi']; const root = ReactDOM.createRoot(document.getElementById('root')); root.render();

运行实例 »

如果 cars.length 等于 true,则将呈现 && 之后的表达式。

尝试清空 cars 数组:

实例:

const cars = [];
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render();

运行实例 »


三元运算符

另一种有条件地渲染元素的方法是使用三元运算符。

condition ? true : false

我们将回到目标示例。

实例:

如果isGoaltrue,则返回MadeGoal组件,否则返回MissedGoal组件:

function Goal(props) {
  const isGoal = props.isGoal;
  return (
    <>
      { isGoal ?  :  }
    
  );
}

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render();

运行实例 »

要了解更多信息,请参阅三元运算符部分。


学习训练

练习题:

使用正确的逻辑运算符完成以下组件。

function App({isLoggedIn}) {
  return (
    <>
      

My Application

{isLoggedIn } ); } const root = ReactDOM.createRoot(document.getElementById('root')); root.render();

开始练习


相关

视频

RELATED VIDEOS

更多

免费

Web前端开发极速入门
初级 Web前端开发极速入门

219920次学习

收藏

免费

前端入门_HTML5
初级 前端入门_HTML5

616946次学习

收藏

免费

30分钟学会网站布局
初级 30分钟学会网站布局

238440次学习

收藏

免费

CSS视频教程-玉女心经版
初级 CSS视频教程-玉女心经版

393054次学习

收藏

免费

独孤九贱(1)_HTML5视频教程

免费

独孤九贱(6)_jQuery视频教程

免费

独孤九贱(7)_Bootstrap视频教程

免费

独孤九贱(2)_CSS视频教程
初级 独孤九贱(2)_CSS视频教程

229605次学习

收藏

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.8万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.4万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

71万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.7万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号