React 条件判断

打印 上一主题 下一主题

主题 523|帖子 523|积分 1569

 在 React 中,可以通过 JavaScript 的条件语句来动态渲染组件或元素。
以下是几种常用的在 React 中处置惩罚条件渲染的方法:
1. 利用 if 语句

在 render 方法或函数组件的返回值中利用 if 语句来决定渲染内容。
实例

  1. import React from 'react';
  2. import ReactDOM from 'react-dom/client';
  3. class MyComponent extends React.Component {
  4.   render() {
  5.     const isLoggedIn = this.props.isLoggedIn;
  6.     let content;
  7.     if (isLoggedIn) {
  8.       content = <h1>Welcome back!</h1>;
  9.     } else {
  10.       content = <h1>Please sign up.</h1>;
  11.     }
  12.     return (
  13.       <div>
  14.         {content}
  15.       </div>
  16.     );
  17.   }
  18. }
  19. const root = ReactDOM.createRoot(document.getElementById('root'));
  20. root.render(<MyComponent isLoggedIn={true} />);
复制代码
2. 利用三元运算符

在 JSX 中,可以利用三元运算符进行简洁的条件渲染。
实例

  1. import React from 'react';
  2. import ReactDOM from 'react-dom/client';
  3. const MyComponent = (props) => {
  4.   const isLoggedIn = props.isLoggedIn;
  5.   return (
  6.     <div>
  7.       {isLoggedIn ? <h1>Welcome back!</h1> : <h1>Please sign up.</h1>}
  8.     </div>
  9.   );
  10. };
  11. const root = ReactDOM.createRoot(document.getElementById('root'));
  12. root.render(<MyComponent isLoggedIn={true} />);
复制代码
3. 利用逻辑与 (&&) 运算符

在 JSX 中,可以利用逻辑与运算符来进行条件渲染。如果条件为 true,则渲染反面的元素。
实例

  1. import React from 'react';
  2. import ReactDOM from 'react-dom/client';
  3. const MyComponent = (props) => {
  4.   const isLoggedIn = props.isLoggedIn;
  5.   return (
  6.     <div>
  7.       {isLoggedIn && <h1>Welcome back!</h1>}
  8.       {!isLoggedIn && <h1>Please sign up.</h1>}
  9.     </div>
  10.   );
  11. };
  12. const root = ReactDOM.createRoot(document.getElementById('root'));
  13. root.render(<MyComponent isLoggedIn={true} />);
复制代码
4. 利用 switch 语句

在需要处置惩罚多个条件时,可以在 render 方法中利用 switch 语句。
实例

  1. import React from 'react';
  2. import ReactDOM from 'react-dom/client';
  3. class MyComponent extends React.Component {
  4.   render() {
  5.     const userRole = this.props.userRole;
  6.     let content;
  7.     switch (userRole) {
  8.       case 'admin':
  9.         content = <h1>Welcome, Admin!</h1>;
  10.         break;
  11.       case 'user':
  12.         content = <h1>Welcome, User!</h1>;
  13.         break;
  14.       case 'guest':
  15.         content = <h1>Welcome, Guest!</h1>;
  16.         break;
  17.       default:
  18.         content = <h1>Who are you?</h1>;
  19.     }
  20.     return (
  21.       <div>
  22.         {content}
  23.       </div>
  24.     );
  25.   }
  26. }
  27. const root = ReactDOM.createRoot(document.getElementById('root'));
  28. root.render(<MyComponent userRole="admin" />);
复制代码
小结



  • if 语句:得当在 render 方法或函数组件的返回值中利用来决定渲染内容。
  • 三元运算符:得当在 JSX 中进行简洁的条件渲染。
  • 逻辑与 (&&) 运算符:得当在 JSX 中条件渲染,当条件为 true 时渲染元素。
  • switch 语句:得当处置惩罚多个条件,进行不同内容的渲染。



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

九天猎人

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表