Skip to content
This repository was archived by the owner on Sep 15, 2022. It is now read-only.

Commit 72aa7e7

Browse files
tronovkrambertech
authored andcommitted
Typos (#33)
* Update README.md Библиотека - она. * Update README.md В основном, исправлены опечатки. Подставлены знаки тире (em dash). Убраны типографские кавычки из кода. * Update README.md Исправлены опечатки, некоторые стилистические ошибки. * Update README.md Стилистические изменения * Update README.md Стилистические изменения * Update README.md Стилистические изменения * Update README.md Стилистические изменения * Update README.md Стилистические изменения * Update README.md Подставлены знаки тире (em dash)
1 parent 3f0698b commit 72aa7e7

File tree

7 files changed

+89
-89
lines changed

7 files changed

+89
-89
lines changed

01-introduction-to-react/README.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Урок 1 - Введение в React
1+
# Урок 1 Введение в React
22

33
[мини-тест по содержанию урока (5 минут)](http://itsquiz.com/activations/566533792ba96aaf3c016c34?ref=reactjs-essential)
44

@@ -12,41 +12,41 @@
1212

1313
#### Что такое React?
1414

15-
ReactJS - это JаvaScript библиотека для построения пользовательских интерфейсов. Это не MVC фреймворк. К нему можно применить только V из этой аббревиатуры. Такая узкая сфера применения дает свободу использования React в различных системах в комбинации с другими библиотеками.
15+
ReactJS это JаvaScript библиотека для построения пользовательских интерфейсов. Это не MVC фреймворк. К ней можно применить только V из этой аббревиатуры. Такая узкая сфера применения дает свободу использования React в различных системах в комбинации с другими библиотеками.
1616

1717
React был представлен Facebook в 2013 году, и очень быстро обрел популярность. Сегодня его используют многие известные компании включая Instagram, Airbnb, Ebay, Netflix, Yahoo и [другие](https://github.com/facebook/react/wiki/Sites-Using-React).
1818

19-
Основным отличием React от других JavaScript фреймворков является то, как он управляет состоянием приложения. Если вспомнить, как пользователи взаимодействовали с веб-страницами еще 10-15 лет назад, то увидим такую картину:
19+
Основным отличием React от других JavaScript фреймворков является то, как он управляет состоянием приложения. Если вспомнить, как пользователи взаимодействовали с веб-страницами еще 1015 лет назад, то увидим такую картину:
2020

2121
![Как было 10-15 лет назад](/01-introduction-to-react/images/001.png)
2222

23-
Сервер всегда возвращал статическую страницу, и реакцией на действия пользователя была полная перезагрузка страницы. Преимуществами такого подхода, была простота в реализации и понимании, недостатками - скорость работы, отзывчивость, UX и потеря состояния при каждой перезагрузке.
23+
Сервер всегда возвращал статическую страницу, и реакцией на действия пользователя была полная перезагрузка страницы. Преимуществами такого подхода, была простота в реализации и понимании, недостатками скорость работы, отзывчивость, UX и потеря состояния при каждой перезагрузке.
2424

25-
Все очень изменилось с появлением AJAX, это подход к построению интерактивных веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. То есть, в фоновом режиме отправляются запросы на сервер, приходят с него ответы, изменяется состояние приложения и, соответственно, внешний вид. Именно такой подход породил понятие Single Page Application.
25+
Все очень изменилось с появлением AJAX, это подход к построению интерактивных веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. То есть, в фоновом режиме отправляются запросы на сервер, приходят с него ответы, изменяется состояние приложения и, соответственно, внешний вид. Именно такой подход породил понятие Single Page Application.
2626

2727
![AJAX](/01-introduction-to-react/images/002.png)
2828

2929
Но каждое визуальное изменение на странице соответствует изменению ее DOM дерева. Не секрет, что все манипуляции с DOM деревом являются очень ресурсоемкими операциями, т.к. изначально DOM дерево было статическим и никакой динамики не предусматривало.
3030

3131
![Изменения на странице](/01-introduction-to-react/images/006.png)
3232

33-
Именно поэтому в React используется виртуальный DOM. Это такая легковесная копия реального DOM дерева на Javascript. Таким образом, React манипулирует не с реальным (синоним - медленным) DOM деревом, а с виртуальным.
33+
Именно поэтому в React используется виртуальный DOM. Это такая легковесная копия реального DOM дерева на Javascript. Таким образом, React манипулирует не с реальным (синоним медленным) DOM деревом, а с виртуальным.
3434

3535
![DOM DIFF](/01-introduction-to-react/images/003.png)
3636

3737
Он сравнивает предыдущее состояние виртуального DOM дерева с его следующим состоянием и находит минимальное количество манипуляций, которые можно произвести уже с реальным DOM, чтобы обновить вид приложения согласно его новому состоянию.
3838

3939
![Обновление реального DOM](/01-introduction-to-react/images/004.png)
4040

41-
И это действительно быстро работает. А все что вам нужно делать - это просто менять состояние вашего приложения, а все остальное React сделает уже за вас!
41+
И это действительно быстро работает. А все что вам нужно делать это просто менять состояние вашего приложения, а все остальное React сделает уже за вас!
4242

4343
#### JSX
4444

4545
Для рендеринга данных в React используется JSX. JSX нужен для JavaScript XML — разметки в стиле XML внутри компонентов React. React работает и без JSX, но именно JSX поможет сделать ваши компоненты более читаемыми, поэтому рекомендуется использовать его.
4646

4747
```jsx
4848
// с JSX
49-
var app = <Nav color=blue">
49+
var app = <Nav color="blue">
5050
<Profile>click</Profile>
5151
</Nav>;
5252
```
@@ -106,13 +106,13 @@ var HelloWorld = React.createClass({
106106
});
107107
```
108108

109-
У каждого компонента есть один обязательный метод - ```render```, который возвращает JSX разметку, соответствующую виду компонента.
109+
У каждого компонента есть один обязательный метод ```render```, который возвращает JSX разметку, соответствующую виду компонента.
110110

111111
**Внимание!** Названия всех классов для ваших компонентов должны начинаться с большой буквы.
112112

113113
#### Параметры aka props
114114

115-
Каждый компонент может принимать параметры. Они передаются из выше стоящих компонентов. К параметрам компонента можно обращаться используя ```this.props.propName```.
115+
Каждый компонент может принимать параметры. Они передаются из вышестоящих компонентов. К параметрам компонента можно обращаться используя ```this.props.propName```.
116116

117117
```jsx
118118
var Heading = React.createClass({
@@ -128,11 +128,11 @@ var Hello = React.createClass({
128128
});
129129
```
130130

131-
Запомните: Модифицировать ```this.props``` **крайне нежелательно***!
131+
Запомните: Модифицировать ```this.props``` **крайне нежелательно**!
132132

133133
#### Состояние aka state
134134

135-
Также каждый компонент может хранить свое состояние. К нему можно получить доступ, обратившись к ```this.state```. В состоянии компонента стоит хранить данные, от которых компонент напрямую зависит внешний вид компонента, и при изменении которых его внешний вид тоже должен меняться (будет вызываться метод ```render```). Cостояние компонента доступно только внутри самого компонента. Для объявления начального состояния компонента, нужно использовать метод ```getInitialState```. Этот метод вызывается до того, как компонент отобразиться в доме и определяет первоначальное значение состояния компонента. Для того, чтобы модифицировать состояние компонента нужно вызвать метод ```this.setState({ /* новое состояние */ })```, тогда состояние компонента измениться и вызовется метод ```render```.
135+
Также каждый компонент может хранить свое состояние. К нему можно получить доступ, обратившись к ```this.state```. В состоянии компонента стоит хранить данные, от которых напрямую зависит внешний вид компонента, и при изменении которых его внешний вид тоже должен меняться (будет вызываться метод ```render```). Cостояние компонента доступно только внутри самого компонента. Для объявления начального состояния компонента, нужно использовать метод ```getInitialState```. Этот метод вызывается до того, как компонент отобразится в доме и определяет первоначальное значение состояния компонента. Для того, чтобы модифицировать состояние компонента нужно вызвать метод ```this.setState({ /* новое состояние */ })```, тогда состояние компонента изменится и вызовется метод ```render```.
136136

137137
```jsx
138138
var Component = React.createClass({
@@ -193,7 +193,7 @@ var EventComponent = React.createClass({
193193

194194
О том, какие события поддерживаются можно прочитать [тут](https://facebook.github.io/react/docs/events.html).
195195

196-
## Вопросы к самопроверке
196+
## Вопросы для самопроверки
197197

198198
- Как работает виртуальный DOM?
199199
- Как можно создать компонент? Какая функция используется для этого?
@@ -214,31 +214,31 @@ var EventComponent = React.createClass({
214214

215215
## Домашнее задание
216216

217-
**Задание 1 : Сделать компонент для отображения статьи**
217+
**Задание 1: Сделать компонент для отображения статьи**
218218

219219
_Уровень сложности: низкий_
220220

221221
В компонент передается заголовок, имя автора и текст, а он их отображает, как статью. Внешний вид на ваше усмотрение.
222222

223223
[подсказка](/01-introduction-to-react/homework/01.md)
224224

225-
**Задание 2 : Написать динамический Hello World.**
225+
**Задание 2: Написать динамический Hello World.**
226226

227227
_Уровень сложности: низкий_
228228

229229
В поле ввода вводится текст. Снизу надпись, которая отображает “Hello, <введенный текст>!”. Текст должен меняться по мере ввода. Если в поле ничего не введено, то должно быть выведено “Hello, stranger!”.
230230

231231
[подсказка](/01-introduction-to-react/homework/02.md)
232232

233-
**Задание 3 : Дополнительная информация о контактах**
233+
**Задание 3: Дополнительная информация о контактах**
234234

235235
_Уровень сложности: средний_
236236

237237
Усовершенствовать список контактов, написаный на уроке. При клике на контакт, он должен разворачиваться (увеличиваться в высоте) и должна отображаться какая-то дополнительная информация о контакте (например, адрес и email). При повторном клике, информация должна сворачиваться.
238238

239239
[подсказка](/01-introduction-to-react/homework/03.md)
240240

241-
**Задание 4 : Простой калькулятор**
241+
**Задание 4: Простой калькулятор**
242242

243243
_Уровень сложности: выше среднего_
244244

0 commit comments

Comments
 (0)