* fix: replace sh with shell fix replace terminal with shell fix replace node with js fix replace output with shell fix replace cs with csharp fix replace c++ with cpp fix replace c# with csharp fix replace javasctipt with js fix replace syntax with js fix replace unix with shell fix replace linux with shell fix replace java 8 with java fix replace swift4 with swift fix replace react.js with jsx fix replace javascriot with js fix replace javacsript with js fix replace c++ - with cpp fix: corrected various typos fix: replace Algorithm with nothing fix: replace xaml with xml fix: replace solidity with nothing fix: replace c++ with cpp fix: replace txt with shell fix: replace code with json and css fix: replace console with shell
38 lines
735 B
Markdown
38 lines
735 B
Markdown
---
|
|
title: Render Conditionally from Props
|
|
localeTitle: 从道具有条理地渲染
|
|
---
|
|
## 从道具有条理地渲染
|
|
|
|
这是一个有点棘手的挑战,但很容易。
|
|
|
|
## 解
|
|
|
|
使用适当的增量声明更改`handleClick()` 。
|
|
|
|
```jsx
|
|
handleClick() {
|
|
this.setState({
|
|
counter: this.state.counter + 1
|
|
});
|
|
}
|
|
```
|
|
|
|
在`render()`方法中,使用质询描述中提到的`Math.random()`并编写三元表达式以在**Results**组件中传递`props` 。
|
|
|
|
```jsx
|
|
let expression = Math.random() > .5;
|
|
|
|
{(expression == 1)? <Results fiftyFifty="You win!"/> : <Results fiftyFifty="You lose!"/> }
|
|
```
|
|
|
|
然后在Results组件中渲染`fiftyFifty`道具。
|
|
|
|
```jsx
|
|
<h1>
|
|
{
|
|
this.props.fiftyFifty
|
|
}
|
|
</h1>
|
|
|
|
``` |