diff --git a/src-russian/view/04b_iteration.md b/src-russian/view/04b_iteration.md index df1caf1..f55a920 100644 --- a/src-russian/view/04b_iteration.md +++ b/src-russian/view/04b_iteration.md @@ -183,11 +183,11 @@ pub fn App() -> impl IntoView { } ``` -Эта версия работает! И если вы посмотрите через DOM инспектор в вашем браузере, вы увидите, что в отличие от -предыдущей, в этой версии только отдельные текстовые узлы обновляются. Передача сигнала напрямую в `{child.value}` -работает, поскольку сигналы сохраняют свою реактивность если их передавать во view. +Эта версия работает! И если вы посмотрите через DOM инспектор в вашем браузере, то увидите, что в этой версии, в отличие от +предыдущей, лишь отдельные текстовые узлы обновляются. Передача сигнала напрямую в `{child.value}` +работает, поскольку сигналы остаются реактивными при передаче их во view. -Обратите внимание, я поменял `set_data.update()` на `data.with()`. `.with()` это способ получить доступ к значению сигнала, +Обратите внимание, я заменил `set_data.update()` на `data.with()`. `.with()` это способ получить доступ к значению сигнала, не клонируя его. В данном случае мы лишь обновляем внутренние значение, не трогая список значений: поскольку сигналы имеют собственное состояние, нам в действительности вовсе не нужно обновлять сигнал `data`, так что иммутабельный вызов `.with()` вполне подходит. @@ -212,7 +212,7 @@ Leptos предоставляет примитив называемый [`create Это позволяет создать реактивные значения для суб-полей крупной структуры данных, без необходимости оборачивать поля этой структуры в сигналы. -Большая часть приложения может остаться неизменённой относительно первоначальной (сломанной) версии, но `` будет +Большая часть приложения может остаться неизменной относительно первоначальной (сломанной) версии, но `` будет выглядеть так: ```rust @@ -231,9 +231,9 @@ Leptos предоставляет примитив называемый [`create ``` Здесь вы заметите несколько отличий: -- мы конвертируем сигнала `data` в нумерующий итератор -- мы используем свойство `children` явным образом, чтобы упростить выполнение некоторого кода вне `view` -- мы создаем memo `value` и используем его и во view. Это поле `value`, на самом деле, не использует `child` передаваемое в каждый ряд. +- мы конвертируем сигнал `data` в нумерующий итератор +- мы используем свойство `children` явным образом, чтобы упростить выполнение кода вне `view` +- мы создаем memo `value` и используем его и во view. Это поле `value`, на самом деле, не использует значение `child` передаваемое в каждый ряд. Вместо этого, оно использует индекс и обращается непосредственно к `data` чтобы получить значение. Теперь, каждый раз, когда `data` меняется, каждое memo будет пересчитано. Если его значение изменилось, оно поменяет свой текстовый узел @@ -241,7 +241,7 @@ Leptos предоставляет примитив называемый [`create ### Преимущества -Мы получаем такую же мелко-зернистую реактивность, что и в версии с оборачиваем в сигналы, без необходимости оборачивать данные в сигналы. +Мы получаем ту же мелкозернистую реактивность, что и в версии с оборачиваем в сигналы, без необходимости оборачивать данные в сигналы. ### Недостатки