首页 > web前端 > js教程 > 正文

React 中的条件渲染

Mary-Kate Olsen
发布: 2024-09-28 18:21:02
原创
258 人浏览过

Conditional Rendering in React

React 中的条件渲染允许您根据某些条件(例如状态或道具)渲染不同的组件或元素。以下是一些实现条件渲染的常用方法:

1. 使用 If-Else 语句

您可以在组件内使用标准 JavaScript if-else 语句。

function MyComponent({ isLoggedIn }) {
    if (isLoggedIn) {
        return <h1>Welcome back!</h1>;
    } else {
        return <h1>Please sign in.</h1>;
    }
}
登录后复制

2. 使用三元运算符

这是一种根据条件呈现内容的简洁方法。

function MyComponent({ isLoggedIn }) {
    return (
        <h1>
            {isLoggedIn ? 'Welcome back!' : 'Please sign in.'}
        </h1>
    );
}
登录后复制

3. 使用逻辑&&运算符

仅当条件为真时,您才可以使用逻辑 AND 运算符来渲染组件。

function MyComponent({ isLoggedIn }) {
    return (
        <div>
            {isLoggedIn && <h1>Welcome back!</h1>}
            {!isLoggedIn && <h1>Please sign in.</h1>}
        </div>
    );
}
登录后复制

4. Switch 语句

对于更复杂的条件,可以使用 switch 语句。

function MyComponent({ status }) {
    switch (status) {
        case 'loading':
            return <h1>Loading...</h1>;
        case 'success':
            return <h1>Data loaded successfully!</h1>;
        case 'error':
            return <h1>There was an error!</h1>;
        default:
            return null;
    }
}
登录后复制

例子

这是使用功能组件的完整示例:

import React from 'react';

function App() {
    const [isLoggedIn, setIsLoggedIn] = React.useState(false);

    return (
        <div>
            <button onClick={() => setIsLoggedIn(!isLoggedIn)}>
                {isLoggedIn ? 'Logout' : 'Login'}
            </button>
            {isLoggedIn ? <h1>Welcome back!</h1> : <h1>Please sign in.</h1>}
        </div>
    );
}

export default App;
登录后复制

概括

根据您的情况复杂程度和个人编码风格选择最适合您需求的方法。如果您需要更多示例或解释,请告诉我!

以上是React 中的条件渲染的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板