Skip to content

Commit 339c949

Browse files
committed
Исправил PR-замечания про conditional-rendering.md
1 parent 1bdeacb commit 339c949

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

content/docs/conditional-rendering.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ redirect_from:
88
- "tips/false-in-jsx.html"
99
---
1010

11-
С React можно создать разные компоненты, инкапсулирующие поведение. Затем вы можете решить рендерить только некоторые из них по своему усмотрению в зависимости от состояния приложения.
11+
React позволяет разделить логику на независимые компоненты. Эти компоненты можно показывать или прятать в зависимости от текущего состояния.
1212

13-
Условный рендеринг в React работает так же, как условные выражения работают в JavaScript. Чтобы создать элементы отражающие текущее состояние и позволить React обновить UI в соответствии с ними, используйте [условный оператор](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/%D0%A3%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80) JavaScript или выражения подобные [`if`](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/if...else).
13+
Условный рендеринг в React работает так же, как условные выражения работают в JavaScript. Бывает нужно объяснить React, как состояние влияет на то, какие компоненты требуется скрыть, а какие — отрендерить, и как именно. В таких ситуациях используйте [условный оператор](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/%D0%A3%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80) JavaScript или выражения подобные [`if`](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/if...else), .
1414

1515
Рассмотрим два компонента:
1616

@@ -20,11 +20,11 @@ function UserGreeting(props) {
2020
}
2121

2222
function GuestGreeting(props) {
23-
return <h1>Залогиньтесь, пожалуйста.</h1>;
23+
return <h1>Войдите, пожалуйста.</h1>;
2424
}
2525
```
2626

27-
Можно создать компонент `Greeting`, который отражает один из вышеуказанных компонентов в зависимости от того, залогинен пользователь или нет:
27+
Можно создать компонент `Greeting`, который отражает один из этих компонентов в зависимости от того, на сайте пользователь или нет:
2828

2929
```javascript{3-7,11,12}
3030
function Greeting(props) {
@@ -44,19 +44,19 @@ ReactDOM.render(
4444

4545
[**Посмотреть на CodePen**](https://codepen.io/gaearon/pen/ZpVxNq?editors=0011)
4646

47-
В этом примере рендерится различное приветствие в зависимости от значания пропа `isLoggedIn`.
47+
В этом примере рендерится различное приветствие в зависимости от значения пропа `isLoggedIn`.
4848

4949
### Переменные-элементы {#element-variables}
5050

51-
Элементы React можно сохранять в переменных. Это может быть удобно, когда какое-то условие определяет, надо ли рендерить одну часть компонента или нет, тогда как другая часть компонента остаётся неизменной.
51+
Элементы React можно сохранять в переменных. Это может быть удобно, когда какое-то условие определяет, надо ли рендерить одну часть компонента или нет, а другая часть компонента остаётся неизменной.
5252

53-
Рассмотрим ещё два компонента, представляющих кнопки Залогиниться (Login) и Выйти (Logout).
53+
Рассмотрим ещё два компонента, представляющих кнопки Войти (Login) и Выйти (Logout).
5454

5555
```js
5656
function LoginButton(props) {
5757
return (
5858
<button onClick={props.onClick}>
59-
Залогиниться
59+
Войти
6060
</button>
6161
);
6262
}
@@ -72,7 +72,7 @@ function LogoutButton(props) {
7272

7373
В следующем примере мы создадим [компонент с состоянием](/docs/state-and-lifecycle.html#adding-local-state-to-a-class) и назовём его `LoginControl`.
7474

75-
Он будет рендерить либо `<LoginButton />`, либо `<LogoutButton />`, в зависимости от текущего состояния. А также он будет всегда рендерить `<Greeting />` из предыдущего примера.
75+
Он будет рендерить либо `<LoginButton />`, либо `<LogoutButton />`, в зависимости от текущего состояния. А ещё он будет всегда рендерить `<Greeting />` из предыдущего примера.
7676

7777
```javascript{20-25,29,30}
7878
class LoginControl extends React.Component {
@@ -118,11 +118,11 @@ ReactDOM.render(
118118

119119
[**Посмотреть на CodePen**](https://codepen.io/gaearon/pen/QKzAgB?editors=0010)
120120

121-
И хотя объявление переменной и использование её в `if`-выражении это вполне рабочий вариант условного рендеринга, иногда вы можете предпочесть синтаксис покороче. Ниже объяснены несколько других способов встроить условия в JSX.
121+
Нет ничего плохого в том, чтобы объявить переменную и условно рендерить компонент `if`-выражением. Но иногда хочется синтаксис покороче. Давайте посмотрим на несколько других способов писать условия прямо в JSX.
122122

123123
### Условное (if) встраивание с помощью логического оператора && {#inline-if-with-logical--operator}
124124

125-
Вы можете [внедрить любое выражение в JSX](/docs/introducing-jsx.html#embedding-expressions-in-jsx), просто заключив его в фигурные скобки. Это правило распространяется и на логический оператор `&&` языка JavaScript, который может оказаться удобным для условной вставки элемента:
125+
Вы можете [внедрить любое выражение в JSX](/docs/introducing-jsx.html#embedding-expressions-in-jsx), просто заключив его в фигурные скобки. Это правило распространяется и на логический оператор `&&` языка JavaScript, которым можно удобно вставить элемент в зависимости от условния:
126126

127127
```js{6-10}
128128
function Mailbox(props) {
@@ -163,7 +163,7 @@ render() {
163163
const isLoggedIn = this.state.isLoggedIn;
164164
return (
165165
<div>
166-
Пользователь <b>{isLoggedIn ? 'сейчас' : 'не'}</b> залогинен.
166+
Пользователь <b>{isLoggedIn ? 'сейчас' : 'не'}</b> на сайте.
167167
</div>
168168
);
169169
}
@@ -190,7 +190,7 @@ render() {
190190

191191
### Предотвращение рендеринга компонента {#preventing-component-from-rendering}
192192

193-
В редких случаях может потребоваться позволить компоненту спрятать себя, хотя он уже и отрендерен другим компонентом. Чтобы этого добиться, просто верните `null` вместо того, что обычно возвращается на рендеринг.
193+
В редких случаях может потребоваться позволить компоненту спрятать себя, хотя он уже и отрендерен другим компонентом. Чтобы этого добиться, верните `null` вместо того, что обычно возвращается на рендеринг.
194194

195195
Например, будет ли содержимое `<WarningBanner />` отрендерено, зависит от значения пропа под именем `warn`. Если значение `false`, компонент ничего не рендерит:
196196

0 commit comments

Comments
 (0)