37 lines
900 B
Markdown
37 lines
900 B
Markdown
![]() |
---
|
|||
|
title: Render with an If/Else Condition
|
|||
|
localeTitle: 使用If / Else条件渲染
|
|||
|
---
|
|||
|
## 使用If / Else条件渲染
|
|||
|
|
|||
|
### 方法
|
|||
|
|
|||
|
在组件的render方法内部,编写if / else语句,每个语句都有自己的返回方法,该方法具有不同的JSX。这使程序员能够根据各种条件呈现不同的UI。
|
|||
|
|
|||
|
首先,将当前返回方法包装在if语句中,并设置条件以检查变量'display'是否为true。请记住,您使用`this.state`访问状态。
|
|||
|
|
|||
|
### 解
|
|||
|
|
|||
|
```react.js
|
|||
|
if (this.state.display === true) {
|
|||
|
return (
|
|||
|
<div>
|
|||
|
<button onClick={this.toggleDisplay}>Toggle Display</button>
|
|||
|
<h1>Displayed!</h1>
|
|||
|
</div>
|
|||
|
);
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
接下来,创建一个else语句,返回**不带** `h1`元素的相同JSX。
|
|||
|
|
|||
|
```react.js
|
|||
|
else {
|
|||
|
return (
|
|||
|
<div>
|
|||
|
<button onClick={this.toggleDisplay}>Toggle Display</button>
|
|||
|
</div>
|
|||
|
)
|
|||
|
}
|
|||
|
|
|||
|
```
|