Skip to content

Commit cbcb9ff

Browse files
committed
Вычитка
1 parent 3c10b0d commit cbcb9ff

File tree

1 file changed

+22
-22
lines changed

1 file changed

+22
-22
lines changed

content/tutorial/tutorial.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ redirect_from:
1616

1717
## Прежде чем начать {#before-we-start-the-tutorial}
1818

19-
По ходу этого руководства мы создадим небольшую игру. **Возможно, вы захотите пропустить это, потому что вы не создаёте игру, но вам стоит попробовать.** Походы, которые мы изучим в этом руководстве являются базовыми при создании любого React-приложения. Их освоение даст вам глубокое понимание React.
19+
По ходу этого руководства мы создадим небольшую игру. **Возможно, вы захотите пропустить это, потому что вы не создаёте игры, но вам стоит попробовать.** Подходы, которые мы изучим в этом руководстве являются базовыми при создании любого React-приложения. Их освоение даст вам глубокое понимание React.
2020

2121
>Совет
2222
>
@@ -27,18 +27,18 @@ redirect_from:
2727
* [Настройка оружения](#setup-for-the-tutorial) даст вам **отправную точку** для изучения руководства.
2828
* [Обзор](#overview) научит вас **основам** React: компоненты, пропсы и состояние.
2929
* [Создание игры](#completing-the-game) научит вас **наиболее распространённым подходам** в React-разработке.
30-
* [Добавив Путешествие Во Времени](#adding-time-travel) вы получите **более глубокое понимание** особенностей и сильных сторон React.
30+
* [Добавив Путешествие Во Времени](#adding-time-travel) вы получите **более глубокое понимание** особенностей и сильных сторон React.
3131

32-
Вам не обязательно проходить все части за раз, чтобы получить пользу от этого руководства. Изучите столько, сколько можете - даже если это будет одна или две секции.
32+
Вам не обязательно проходить все части за раз, чтобы получить пользу от этого руководства. Изучите столько, сколько можете, даже если это будет одна или две секции.
3333

34-
Вполне нормально копировать код по мере прохождения руководства. Но мы советуем набирать его самим. Это позволит вам подключить мышечную память и улучшит понимание.
34+
Вполне нормально копировать код по мере изучения руководства. Но мы советуем набирать его самим. Это позволит вам подключить мышечную память и улучшить понимание.
3535

3636

3737
### Что мы собираемся писать? {#what-are-we-building}
3838

3939
В этом руководстве мы покажем как создать интерактивную игру крестики-нолики на React.
4040

41-
Результат вы можете посмотреть здесь **[Готовая Игра](https://codepen.io/gaearon/pen/gWWZgR?editors=0010)**. Если её код вам ни о чем не говорит, или вы не знакомы с синтаксисом - не беспокойтесь. Цель этого руководства - помочь вам разобраться с React и его синтаксисом.
41+
Результат вы можете посмотреть здесь **[Готовая Игра](https://codepen.io/gaearon/pen/gWWZgR?editors=0010)**. Если её код вам ни о чем не говорит, или вы не знакомы с синтаксисом, не беспокойтесь. Цель этого руководства - помочь вам разобраться с React и его синтаксисом.
4242

4343
Мы советуем вам поиграть в готовые крестики-нолики, прежде чем приниматься за руководство. Одна из особенностей, которую вы можете заметить - это нумерованный список справа от игрового поля. Этот список отображает историю всех игровых ходов, и обновляется по мере игры.
4444

@@ -47,9 +47,9 @@ redirect_from:
4747

4848
### Предварительные требования {#prerequisites}
4949

50-
Мы будем полагать, что вы немного знакомы с HTML и JavaScript. Однако вы сможете изучать руководство, даже если вы пришли с других языков программирования. Мы также полагаем, что вы знакомы с такими понятиями программирования как функции, объекты, массивы и , в меньшей степени, классы.
50+
Мы будем полагать, что вы немного знакомы с HTML и JavaScript. Однако вы сможете изучать руководство, даже если вы пришли с других языков программирования. Мы также полагаем, что вы знакомы с такими понятиями программирования как функции, объекты, массивы и, в меньшей степени, классы.
5151

52-
Если вам нужен обзор по JavaScript, мы рекомендуем прочитать [вот этот учебник](https://developer.mozilla.org/ru/docs/Web/JavaScript/A_re-introduction_to_JavaScript). Отметим, что мы используем некоторые особенности из ES6 - последней версии JavaScript. Такие как [стрелочные функции](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Functions/Arrow_functions), [классы](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Classes), объявления [`let`](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/let), и [`const`](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/const). Вы можете воспользоваться [Babel REPL](babel://es5-syntax-example), чтобы узнать во что компилируется код на ES6.
52+
Если вам нужен обзор JavaScript, мы рекомендуем прочитать [вот этот учебник](https://developer.mozilla.org/ru/docs/Web/JavaScript/A_re-introduction_to_JavaScript). Отметим, что мы используем некоторые особенности из ES6 - последней версии JavaScript - такие как [стрелочные функции](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Functions/Arrow_functions), [классы](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Classes), объявления [`let`](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/let), и [`const`](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/const). Вы можете воспользоваться [Babel REPL](babel://es5-syntax-example), чтобы узнать во что компилируется код на ES6.
5353

5454
## Настройка окружения {#setup-for-the-tutorial}
5555

@@ -65,7 +65,7 @@ redirect_from:
6565

6666
### Вариант 2: Локальное окружение для разработки {#setup-option-2-local-development-environment}
6767

68-
Это не является обязательным и не требуется руководством!
68+
Это не является обязательным и не требуется этим руководством!
6969

7070
<br>
7171

@@ -75,7 +75,7 @@ redirect_from:
7575

7676
Эти настройки потребуют больше сил, но позволят продолжать работу с использованием выбранного вами редактора. Вот что нужно сделать:
7777

78-
1. Убедиться, что у вас установлена последняя версия [Node.js](https://nodejs.org/en/).
78+
1. Убедиться, что у вас установлена последняя версия [Node.js](https://nodejs.org/en/).
7979
2. Выполнить [инструкции по установке Create React App](/docs/create-a-new-react-app.html#create-react-app) для создания нового проекта.
8080

8181
```bash
@@ -102,9 +102,9 @@ del *
102102
cd ..
103103
```
104104

105-
4. Создайте файл с именем `index.css` в папку `src/` и добавьте в него [вот этот CSS код](https://codepen.io/gaearon/pen/oWWQNa?editors=0100).
105+
4. Создайте файл с именем `index.css` в папке `src/` и добавьте в него [вот этот CSS код](https://codepen.io/gaearon/pen/oWWQNa?editors=0100).
106106

107-
5. Создайте файл с именем `index.js` в папку `src/` и добавьте в него [этот JS код](https://codepen.io/gaearon/pen/oWWQNa?editors=0010).
107+
5. Создайте файл с именем `index.js` в папке `src/` и добавьте в него [этот JS код](https://codepen.io/gaearon/pen/oWWQNa?editors=0010).
108108

109109
6. В начало файла `index.js` в папке`src/` добавьте следующие три строчки:
110110

@@ -129,9 +129,9 @@ import './index.css';
129129

130130
### Что такое React? {#what-is-react}
131131

132-
React - это декларативная, эффективная и гибкая JavaScript библиотека для создания пользовательских интерфейсов. Она позволяет вам составлять сложный UI из маленьких изолированных кусочков кода, называемых "компоненты".
132+
React - это декларативная, эффективная и гибкая JavaScript библиотека для создания пользовательских интерфейсов. Она позволяет вам составлять сложный UI из маленьких изолированных кусочков кода, называемых "компонентами".
133133

134-
React имеет несколько разных видов компонент, но мы начнём с подклассов `React.Component`:
134+
React имеет несколько разных видов компонентов, но мы начнём с подклассов `React.Component`:
135135

136136
```javascript
137137
class ShoppingList extends React.Component {
@@ -152,9 +152,9 @@ class ShoppingList extends React.Component {
152152
// Пример использования: <ShoppingList name="Марк" />
153153
```
154154

155-
Скоро мы перейдём к этим забавным, похожим на XML, тегам. Мы используем компоненты, чтобы объяснить React, что мы хотим увидеть на экране. Когда наш данные изменятся, React эффективно обновит и перерисует наши компоненты.
155+
Скоро мы перейдём к этим забавным, похожим на XML, тегам. Мы используем компоненты, чтобы объяснить React, что мы хотим увидеть на экране. Когда наши данные изменятся, React эффективно обновит и перерисует наши компоненты.
156156

157-
Здесь, `ShoppingList` - это пример **классового компонента React**, или **тип React-компонента**. Компонент принимает параметры, которые называются пропсы (`props`, сокращение от `properties` - свойства), и возвращает из метода `render()` иерархию представлений для отображения.
157+
Здесь, `ShoppingList` - это пример **классового компонента React**, или **тип React-компонента**. Компонент принимает параметры, которые называются пропсами (`props`, сокращение от `properties` - свойства), и возвращает из метода `render()` иерархию представлений для отображения.
158158

159159
Метод `render` возвращает *описание* того, что вы ходите увидеть на экране. React берет это описание и отображает результат. Точнее, `render` возвращает **React-элемент**, который является легковесным описанием того, что нужно отрендерить. Большинство React-разработчиков используют специальный синтаксис под названием "JSX" для упрощения описания структуры. Синтаксис `<div />` преобразовывается в `React.createElement('div')`. Пример выше равнозначен вот этому:
160160

@@ -167,9 +167,9 @@ return React.createElement('div', {className: 'shopping-list'},
167167

168168
[Смотрите полную версию.](babel://tutorial-expanded-version)
169169

170-
Если вам интересно, то `createElement()` более подробно описан в [Документации](/docs/react-api.html#createelement), но мы не будем им пользоваться в этом руководства. Вместо этого мы продолжим пользоваться JSX.
170+
Если вам интересно, то `createElement()` более подробно описан в [Документации](/docs/react-api.html#createelement), но мы не будем им пользоваться в этом руководстве. Вместо этого мы продолжим пользоваться JSX.
171171

172-
JSX обладает всей мощью JavaScript. В JSX вы можете использовать *любые* JavaScript выражения внутри фигурных скобок. Каждый React-элемент является JavaScript объектов, в котором вы можете хранить переменные или которым вы можете оперировать внутри программы.
172+
JSX обладает всей мощью JavaScript. В JSX вы можете использовать *любые* JavaScript выражения внутри фигурных скобок. Каждый React-элемент является JavaScript объектом, в котором вы можете хранить переменные или которым вы можете оперировать внутри программы.
173173

174174
Приведённый выше компонент `ShoppingList` только рендерит встроенные DOM-компоненты вроде `<div />` или `<li />`. Но вы также можете составлять и рендерить собственные компоненты. Например, теперь вы можете ссылаться на весь компонент со списком покупок написав `<ShoppingList />`. Каждый React-компонент инкапсулирован и может использоваться независимо, это позволяет создавать сложный UI из простых компонентов.
175175

@@ -181,7 +181,7 @@ JSX обладает всей мощью JavaScript. В JSX вы можете
181181

182182
Исследуя этот код, вы обнаружите, что у нас есть три React-компонента:
183183

184-
* Square (Квадрат)
184+
* Square (Клетка)
185185
* Board (Поле)
186186
* Game (Игра)
187187

@@ -190,7 +190,7 @@ JSX обладает всей мощью JavaScript. В JSX вы можете
190190
### Передача данных через пропсы {#passing-data-through-props}
191191

192192
Для начала, давайте попробуем передать некоторые данные из нашего `Board`-компонента в компонент `Square`.
193-
Изменим метод `renderSquare` внутри `Board`, чтобы он передавал в `Square` проп с назнанием `value`:
193+
Изменим метод `renderSquare` внутри `Board`, чтобы он передавал в `Square` проп с названием `value`:
194194

195195

196196
```js{3}
@@ -218,7 +218,7 @@ class Square extends React.Component {
218218

219219
![React Devtools](../images/tutorial/tictac-empty.png)
220220

221-
После: Вы должны увидеть число, внутри каждого отрисованного квадрата.
221+
После: Вы должны увидеть число, внутри каждой отрисованной ячейки.
222222

223223
![React Devtools](../images/tutorial/tictac-numbers.png)
224224

@@ -262,7 +262,7 @@ class Square extends React.Component {
262262
>}
263263
>```
264264
>
265-
>Обратите внимание что в `onClick={() => alert('click')}`, мы передаём *функцию* в качестве значения проп `onClick`. Она отработает только при клике. Опускать `() =>` и присать сразу `onClick={alert('click')}` - это распространённая ошибка. Такой код будет выдавать сообщение каждый раз, когда компонент перерендеривается..
265+
>Обратите внимание что в `onClick={() => alert('click')}`, мы передаём *функцию* в качестве значения проп `onClick`. Она отработает только при клике. Опускать `() =>` и присать сразу `onClick={alert('click')}` - это распространённая ошибка. Такой код будет выдавать сообщение каждый раз, когда компонент перерендеривается.
266266
267267
Дальше мы хотим, чтобы Square-компонент "запоминал", что по ниму кликнули и отрисовывал "X".
268268
Для "запоминания" компоненты используют **состояние**.
@@ -340,7 +340,7 @@ class Square extends React.Component {
340340

341341
React DevTools позволяют просматривать пропсы и состояние ваших React-компонентов.
342342

343-
После установки React DevTools, вы можете кликнуть правой кнопкой мыши на любом элемента страницы и нажать `Inspect` (`Просмотреть код`) для открытия инструментов разработчика. Вкладка React будет крайней справа.
343+
После установки React DevTools, вы можете кликнуть правой кнопкой мыши на любом элементе страницы и нажать `Inspect` (`Просмотреть код`) для открытия инструментов разработчика. Вкладка React будет крайней справа.
344344

345345

346346
**Внимание, чтобы это работало на CodePen нужно сделать ещё несколько действий:**

0 commit comments

Comments
 (0)