You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/ru/actions.md
+6-6Lines changed: 6 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
1
# Действия
2
2
3
-
Действия — похожи на мутации, с несколькими отличиями:
3
+
Действия — похожи на мутации с несколькими отличиями:
4
4
5
-
- Вместо того чтобы напрямую менять состояние, действия инициируют мутации.
5
+
- Вместо того, чтобы напрямую менять состояние, действия инициируют мутации;
6
6
- Действия могут использоваться для асинхронных операций.
7
7
8
8
Зарегистрируем простое действие:
@@ -25,7 +25,7 @@ const store = new Vuex.Store({
25
25
})
26
26
```
27
27
28
-
Обработчики действий получают объект контекста, содержащий те же методы и свойства, что и сам инстанс хранилища, так что вы можете вызвать `context.commit` для инициирования мутации, или обратиться к состоянию и геттерам через `context.state` и `context.getters`. Позднее, при рассмотрении [Модулей](modules.md), мы увидим, однако, что этот контекст — не то же самое, что и сам инстанс хранилища.
28
+
Обработчики действий получают объект контекста, содержащий те же методы и свойства, что и сам инстанс хранилища, так что вы можете вызвать `context.commit` для инициирования мутации или обратиться к состоянию и геттерам через `context.state` и `context.getters`. Позднее при рассмотрении [Модулей](modules.md) мы увидим, однако, что этот контекст — не то же самое, что инстанс хранилища.
29
29
30
30
На практике для упрощения кода часто используется [деструктуризация аргументов](https://github.com/lukehoban/es6features#destructuring) из ES2015 (особенно при необходимости многократного вызова `commit`):
31
31
@@ -57,7 +57,7 @@ actions: {
57
57
}
58
58
```
59
59
60
-
Диспетчеризация действий поддерживает такой же объектный синтаксис, как диспетчеризация мутаций:
60
+
Диспетчеризация действий поддерживает тот же объектный синтаксис, что и диспетчеризация мутаций:
61
61
62
62
```js
63
63
// параметризированный вызов
@@ -120,7 +120,7 @@ export default {
120
120
121
121
Раз действия зачастую асинхронны, то как узнать, что действие уже завершилось? И, что важнее, как быть со связанными между собой действиями при организации более сложных асинхронных потоков?
122
122
123
-
Для начала стоит вспомнить, что `store.dispatch` возвращает значение, равное результату вызванного обработчика действия, что позволяет использовать Promise:
123
+
Для начала стоит вспомнить, что `store.dispatch` возвращает значение, равное результату вызванного обработчика действия, что позволяет использовать Promise:
124
124
125
125
```js
126
126
actions: {
@@ -156,7 +156,7 @@ actions: {
156
156
}
157
157
```
158
158
159
-
И, в конце концов, используя [async / await](https://tc39.github.io/ecmascript-asyncawait/) — возможности, которые вот-вот станут общедоступными, можно компоновать действия таким образом:
159
+
И, в конце концов, используя [async / await](https://tc39.github.io/ecmascript-asyncawait/) — возможности, которые вот-вот станут общедоступны - можно компоновать действия таким образом:
160
160
161
161
```js
162
162
// предположим, что getData() и getOtherData() возвращают промисы
Copy file name to clipboardExpand all lines: docs/ru/getting-started.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
В центре любого Vuex-приложения находится **хранилище**. "Хранилище" — это, упрощённо говоря, контейнер, который хранит **состояние** вашего приложения. Два момента отличают хранилище Vuex от простого глобального объекта:
4
4
5
-
1. Хранилища Vuex реактивны. Если компоненты Vue зависят от их состояния, изменения состояния хранилища спровоцирует соответствующие изменения компонентов.
5
+
1. Хранилища Vuex реактивны. Если компоненты Vue зависят от их состояния, изменение состояния хранилища спровоцирует соответствующие изменения компонентов.
6
6
7
7
2. Непосредственное изменение состояния хранилища запрещено. Единственный способ внести изменения — явно **вызвать мутацию**. Этот подход позволяет быть уверенным, что каждое изменение оставляет в системе след, и даёт возможность использовать инструменты, позволяющие лучше понять работу приложения.
Copy file name to clipboardExpand all lines: docs/ru/mutations.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -133,7 +133,7 @@ mutations: {
133
133
}
134
134
```
135
135
136
-
Теперь представьте, что вы отлаживаете приложение и смотрите в лог мутаций в инструментах разработчика. Для каждой залогированной мутации devtools должен сохранить слепки состояния приложения "до" и "после" её наступления. Однако, асинхронный коллбэк внутри приведённой выше мутации делает это невозможным: мутация-то уже записана, и у devtools нет никакой возможности знать, что далее будет вызван коллбэк, а значит и инициируемые им изменения становится, по сути дела, невозможно отследить.
136
+
Теперь представьте, что вы отлаживаете приложение и смотрите в лог мутаций в инструментах разработчика. Для каждой залогированной мутации devtools должен сохранить слепки состояния приложения "до" и "после" её наступления. Однако, асинхронный коллбэк внутри приведённой выше мутации делает это невозможным: мутация-то уже записана, и у devtools нет никакой возможности знать, что далее будет вызван коллбэк, а, значит, и инициируемые им изменения становится, по сути дела, невозможно отследить.
137
137
138
138
### Вызов мутаций из компонентов
139
139
@@ -157,7 +157,7 @@ export default {
157
157
158
158
### О действиях
159
159
160
-
Привнесение асинхронности в мутации могло бы изрядно затруднить понимание логики программы. Например, если вызываются два метода, оба с асинхронными коллбэками, изменяющими состояние приложения — как предсказать, какой из коллбэков будет вызван первым? Именно поэтому концепции изменений и асинхронности рассматриваются по отдельности. Во Vuex,**мутации — это синхронные транзакции**:
160
+
Привнесение асинхронности в мутации могло бы изрядно затруднить понимание логики программы. Например, если вызываются два метода, оба с асинхронными коллбэками, изменяющими состояние приложения — как предсказать, какой из коллбэков будет вызван первым? Именно поэтому концепции изменений и асинхронности рассматриваются по отдельности. Во Vuex **мутации — это синхронные транзакции**:
Copy file name to clipboardExpand all lines: docs/ru/strict.md
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Strict Mode
2
2
3
-
Для включения strict mode, просто укажите `strict: true` при создании хранилища Vuex:
3
+
Для включения strict mode просто укажите `strict: true` при создании хранилища Vuex:
4
4
5
5
```js
6
6
conststore=newVuex.Store({
@@ -9,13 +9,13 @@ const store = new Vuex.Store({
9
9
})
10
10
```
11
11
12
-
При использовании strict mode, любая попытка внесения изменений в состояние Vuex, кроме как через зарегистрированную мутацию, приведёт к появлению ошибки. Это позволяет быть уверенным, что все изменения с данными отслеживаются инструментами отладки.
12
+
При использовании strict mode любая попытка внесения изменений в состояние Vuex, кроме как через зарегистрированную мутацию, приведёт к появлению ошибки. Это позволяет быть уверенным, что все изменения данных отслеживаются инструментами отладки.
13
13
14
14
### Разработка и production
15
15
16
-
**Не используйте strict mode в production-окружении!** Для определения некорректных операций, strict mode использует довольно "дорогие" операции глубокого наблюдения за деревом состояния приложения, поэтому удостоверьтесь что выключили этот режим перед выкладкой на production из соображений повышения производительности!
16
+
**Не используйте strict mode в production-окружении!** Для определения некорректных операций strict mode использует довольно "дорогие" операции глубокого наблюдения за деревом состояния приложения, поэтому удостоверьтесь, что выключили этот режим перед выкладкой на production из соображений повышения производительности!
17
17
18
-
При использовании систем модульной сборки, это можно сделать так:
18
+
При использовании систем модульной сборки это можно сделать так:
Copy file name to clipboardExpand all lines: docs/ru/structure.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,9 @@
2
2
3
3
В действительности Vuex не накладывает каких-то значительных ограничений на используемую структуру кода. Однако, он требует соблюдения нескольких высокоуровневых принципов:
4
4
5
-
1. Глобальное состояние приложения должно содержаться в централизованном хранилище
5
+
1. Глобальное состояние приложения должно содержаться в централизованном хранилище;
6
6
7
-
2. Единственным механизмом изменения этого состояния являются **мутации**, являющиеся синхронными транзакциями.
7
+
2. Единственным механизмом изменения этого состояния являются **мутации**, являющиеся синхронными транзакциями;
8
8
9
9
3. Асинхронные операции инкапсулирутся в **действия**, или их комбинации.
0 commit comments