Skip to content

Commit 6c63321

Browse files
author
Vasilii Boldurean
committed
Align content as per original lines
1 parent 9146dcf commit 6c63321

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/content/learn/you-might-not-need-an-effect.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,7 @@ function Profile({ userId }) {
191191
// ...
192192
}
193193
```
194+
194195
Обычно React сохраняет состояние, когда один и тот же компонент отображается в одном месте. **Передавая `userId` в качестве ключа `key` компоненту `Profile`, вы как бы просите React рассматривать два компонента `Profile` с разными `userId` как два разных компонента, которые не должны делить между собой никакого состояния.** Всякий раз, когда key (установленный на `userId`) меняется, React обновит DOM и [сбросит состояние](/learn/preserving-and-resetting-state#option-2-resetting-state-with-a-key) компонента `Profile` и всех его дочерних. Теперь поле `comment` будет автоматически очищаться при переходе между профилями.
195196

196197
Обратите внимание, что в данном примере только внешний компонент `ProfilePage` экспортируется и виден другим файлам в проекте. Компоненты, которые рендерят `ProfilePage`, не должны передавать ему ключ: они передают `userId` в качестве обычного пропса. Тот факт, что `ProfilePage` передает его в качестве ключа `key` внутреннему компоненту `Profile`, является деталью реализации.
@@ -301,6 +302,7 @@ function ProductPage({ product, addToCart }) {
301302
```
302303
303304
Этот код удаляет ненужный Эффект, и исправляет ошибку.
305+
304306
### Отправка POST-запроса {/*sending-a-post-request*/}
305307
306308
Представим, что компонент `Form` делает два типа POST-запросов. Он отправляет событие аналитики при монтировании. А когда вы заполняете форму и нажимаете кнопку «Отправить», он отправит POST-запрос на конечную точку `/api/register`:
@@ -450,7 +452,6 @@ function Game() {
450452
451453
В некоторых случаях вы *не можете* вычислить следующее состояние непосредственно в обработчике событий. Например, представьте форму с несколькими выпадающими списками, где варианты следующего выпадающего списка зависят от выбранного значения предыдущего выпадающего списка. Тогда цепочка эффектов будет уместной, потому что вы синхронизируете её с сетью.
452454
453-
454455
### Инициализация приложения {/*initializing-the-application*/}
455456
456457
Некоторая логика должна выполняться только один раз при загрузке приложения.
@@ -1734,4 +1735,4 @@ label, textarea { margin-bottom: 10px; display: block; }
17341735
17351736
</Solution>
17361737
1737-
</Challenges>
1738+
</Challenges>

0 commit comments

Comments
 (0)