Skip to content

Commit 3ee378e

Browse files
L1ghT0titovmx
andauthored
Apply suggestions from code review
Co-authored-by: Maxim Titov <[email protected]>
1 parent 9e5128e commit 3ee378e

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

src/content/learn/understanding-your-ui-as-a-tree.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ title: Представление UI в виде дерева
66

77
Ваше приложение React формируется с множеством вложенных друг в друга компонентов. Как же React отслеживает структуру компонентов вашего приложения?
88

9-
React, как и многие другие библиотеки, моделируют UI в виде дерева. Представив ваше приложении в виде дерева, вы сможете лучше понять взаимосвязь между компонентами, а так же это поможет вам в отладке будущих концепций, таких как: производительность и управление состоянием.
9+
React, как и многие другие библиотеки, моделирует UI в виде дерева. Представив ваше приложение в виде дерева, вы сможете лучше понять взаимосвязь между компонентами, а так же это поможет вам в отладке будущих концепций, таких как: производительность и управление состоянием.
1010

1111
</Intro>
1212

@@ -20,20 +20,20 @@ React, как и многие другие библиотеки, моделир
2020

2121
## UI в виде дерева {/*your-ui-as-a-tree*/}
2222

23-
Дерево — это модель отношений между элементами и UI часто использует эту структуру. Например, браузеры используют тот же подход для построения HTML ([DOM](https://developer.mozilla.org/docs/Web/API/Document_Object_Model/Introduction)) и CSS ([CSSOM](https://developer.mozilla.org/docs/Web/API/CSS_Object_Model)). Мобильные платформы так же используют структуру дерева для своей иерархии.
23+
Дерево — это модель отношений между элементами, и UI часто использует эту структуру. Например, браузеры используют тот же подход для построения HTML ([DOM](https://developer.mozilla.org/docs/Web/API/Document_Object_Model/Introduction)) и CSS ([CSSOM](https://developer.mozilla.org/docs/Web/API/CSS_Object_Model)). Мобильные платформы так же используют структуру дерева для своей иерархии.
2424

2525
<Diagram name="preserving_state_dom_tree" height={193} width={864} alt="Diagram with three sections arranged horizontally. In the first section, there are three rectangles stacked vertically, with labels 'Component A', 'Component B', and 'Component C'. Transitioning to the next pane is an arrow with the React logo on top labeled 'React'. The middle section contains a tree of components, with the root labeled 'A' and two children labeled 'B' and 'C'. The next section is again transitioned using an arrow with the React logo on top labeled 'React'. The third and final section is a wireframe of a browser, containing a tree of 8 nodes, which has only a subset highlighted (indicating the subtree from the middle section).">
2626

27-
React создает UI дерево из ваших компонентов. В этом случае дерево UI используется для последующего рендеринга в DOM.
27+
React создаёт UI-дерево из ваших компонентов. В этом случае дерево UI используется для последующего рендеринга в DOM.
2828
</Diagram>
2929

30-
React, так же как браузеры и мобильные платформы, использует структуру дерева для управления и построения связи между компонентами. Эти деревья являются полезным инструментом и помогут вам понять как данные проходят через приложение React и как оптимизировать рендеринг и размер приложения.
30+
React, так же как браузеры и мобильные платформы, использует структуру дерева для управления и построения связи между компонентами. Эти деревья являются полезным инструментом и помогут вам понять как данные проходят через приложение React, как оптимизировать рендеринг и размер приложения.
3131

3232
## Дерево рендеринга {/*the-render-tree*/}
3333

3434
Основной особенностью компонентов считается возможность составлять одни компоненты из других. Когда мы [вкладываем компоненты](/learn/your-first-component#nesting-and-organizing-components), у нас есть концепция родительских и дочерних компонентов, где каждый родительский компонент сам может быть дочерним по отношению к другому.
3535

36-
Когда мы рендерим React приложение, мы можем смоделировать эти связи в виде дерева, известного как дерево рендеринга.
36+
Когда мы рендерим React-приложение, мы можем смоделировать эти связи в виде дерева, известного как дерево рендеринга.
3737

3838
Вот пример приложения React, которое отображает вдохновляющие цитаты.
3939

@@ -120,7 +120,7 @@ export default [
120120

121121
<Diagram name="render_tree" height={250} width={500} alt="Tree graph with five nodes. Each node represents a component. The root of the tree is App, with two arrows extending from it to 'InspirationGenerator' and 'FancyText'. The arrows are labelled with the word 'renders'. 'InspirationGenerator' node also has two arrows pointing to nodes 'FancyText' and 'Copyright'.">
122122

123-
React создает *дерево рендеринга* и UI дерево состоящих из компонентов прошедших рендеринг.
123+
React создает *дерево рендеринга* и UI-дерево, состоящее из компонентов, прошедших рендеринг.
124124

125125

126126
</Diagram>
@@ -129,17 +129,17 @@ React создает *дерево рендеринга* и UI дерево со
129129

130130
Дерево состоит из узлов, каждый из них представляет компонент. `App`, `FancyText`, `Copyright` и многие другие — это узлы нашего дерева.
131131

132-
Корневой узел в дереве рендеринга React является [корневым компонентом](/learn/importing-and-exporting-components#the-root-component-file) приложения. В нашем случае корневой компонент предстовляет `App` и React рендерит его первым. Каждое ответление в дереве идет от родительского компонента к дочернему.
132+
Корневой узел в дереве рендеринга React является [корневым компонентом](/learn/importing-and-exporting-components#the-root-component-file) приложения. В нашем случае корневой компонент предстовлен `App`, и React рендерит его первым. Каждое ответление в дереве идёт от родительского компонента к дочернему.
133133

134134
<DeepDive>
135135

136136
#### Где же находятся HTML-теги в дереве рендеринга? {/*where-are-the-html-elements-in-the-render-tree*/}
137137

138138
Возможно, вы уже заметили, что в приведенном выше дереве рендеринга нет упоминания о HTML-тегах, которые отображает каждый компонент. Это происходит потому, что дерево рендеринга состоит только из [компонентов](learn/your-first-component#components-ui-building-blocks) React.
139139

140-
Как фреймворк UI, React является платформо-независимым. Здесь же мы демонстрируем примеры рендеринга в web, где в качестве примитивов UI используется разметка HTML. Но приложение React так же может запускаться на мобильных или десктоп платформах, которые используют другие UI примитивы, такие как: [UIView](https://developer.apple.com/documentation/uikit/uiview) или [FrameworkElement](https://learn.microsoft.com/en-us/dotnet/api/system.windows.frameworkelement?view=windowsdesktop-7.0).
140+
Как UI-фреймворк, React является платформонезависимым. В документации мы демонстрируем примеры рендеринга в web, где в качестве примитивов UI используется разметка HTML. Но приложение React так же может запускаться на мобильных или десктоп платформах, которые используют другие UI-примитивы, такие как: [UIView](https://developer.apple.com/documentation/uikit/uiview) или [FrameworkElement](https://learn.microsoft.com/en-us/dotnet/api/system.windows.frameworkelement?view=windowsdesktop-7.0).
141141

142-
Но примитивы на этих платформах не являются частью React и его дерево так же может давать представление о нашем приложении независимо от того, на какой платформе запускается ваше приложение.
142+
Но примитивы на этих платформах не являются частью React. Его дерево может давать представление о вашем приложении независимо от того, на какой платформе запускается ваше приложение.
143143

144144
</DeepDive>
145145

@@ -281,13 +281,13 @@ export default [
281281

282282
Дерево зависимостей помогает определить какие модули необходимы для запуска вашего React приложения. При создании приложения для продакшена есть этап сборки, на котором весь необходимый JavaScript будет отправлен клиенту. На этом этапе [сборщик пакетов](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Overview#the_modern_tooling_ecosystem) использует дерево зависимостей для того, чтобы определить какие модули содержит проект.
283283

284-
По мере роста вашего приложения часто увеличивается и размер сборщика. При больших размерах требуются больше затрат для загрузки и запуска клиента, а так же это может задерживать прорисовку вашего UI. Понимание же дерева зависимостей вашего приложения может помочь в отладке и устранении этих проблем.
284+
По мере роста вашего приложения часто увеличивается и размер сборщика. При больших размерах требуется больше затрат для загрузки и запуска клиента, а так же это может задерживать прорисовку вашего UI. Понимание же дерева зависимостей вашего приложения может помочь в отладке и устранении этих проблем.
285285

286286
[comment]: <> (perhaps we should also deep dive on conditional imports)
287287

288288
<Recap>
289289

290-
* Деревья — это распространенный способ показать отношение между сущностями. Они очень частно используются для построения UI.
290+
* Деревья — это распространенный способ показать отношения между сущностями. Они очень частно используются для построения UI.
291291
* Деревья рендеринга представляют собой отношения между вложенными компонентами React в рамках одной отрисовки.
292292
* С отрисоквой по условию, дерево рендеринга может меняться при разных запусках. В зависимости от пропсов, компоненты могут отображать разные дочерние компоненты.
293293
* Деревья рендеринга помогают определить, что такое компоненты верхнего уровня и конечные компоненты. Компоненты верхнего уровня влияют на производительность отрисовки всех компонентов, находящихся под ними, а конечные компоненты часто перерисовываются повторно. Их выявление поможет вам для понимания и отладки производительности рендеринга.

0 commit comments

Comments
 (0)