React 没有特殊的语法来编写条件语句,因此你使用的就是普通的 JavaScript 代码。例如使用 if 语句根据条件引入 JSX:
javascript
let content;
if (isLoggedIn) {
content = <AdminPanel />;
} else {
content = <LoginForm />;
}
return (
<div>
{content}
</div>
);
如果你喜欢更为紧凑的代码,可以使用 条件 ? 运算符。与 if
不同的是,它工作于 JSX 内部:
javascript
<div>
{isLoggedIn ? (
<AdminPanel />
) : (
<LoginForm />
)}
</div>
当你不需要 else
分支时,你还可以使用 逻辑 && 语法:
javascript
<div>
{isLoggedIn && <AdminPanel />}
</div>
所有这些方法也适用于有条件地指定属性。如果你对 JavaScript 语法不熟悉,你可以从一直使用 if...else
开始。
注意⚠️:
在上面的代码片段中,
&&
是 JavaScript 中的逻辑与(AND)操作符。它用于在条件表达式中进行逻辑判断。在这个特定的用法中,
{isLoggedIn && <AdminPanel />}
表示如果isLoggedIn
为真(即为true
),则渲染<AdminPanel>
组件;否则,不进行渲染。这种写法是一种简洁的条件渲染方式。当
isLoggedIn
为真时,表达式的结果为<AdminPanel />
组件,从而使其被渲染。当isLoggedIn
为假时,表达式的结果为false
,因此不会渲染任何内容。这种写法相当于以下的条件语句:
javascript<div> {isLoggedIn ? <AdminPanel /> : null} </div>
使用
&&
操作符的条件渲染方式可以帮助简化代码并提高可读性。