Skip to content

Commit d9358d9

Browse files
authored
Fixes
1 parent 7b1e91b commit d9358d9

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

content/docs/codebase-overview.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,17 @@ redirect_from:
1313

1414
Если вы хотите [внести свой вклад в React](/docs/how-to-contribute.html), то мы надеемся, что эта глава вам поможет.
1515

16-
Мы считаем, что вам не обязательно следовать этим соглашениям в ваших React приложениях. Многие из этих соглашений существуют по историческим причинам и могут быть изменены со временем.
16+
Мы считаем, что вам не обязательно следовать этим соглашениям в ваших React-приложениях. Многие из этих соглашений существуют по историческим причинам и могут быть изменены со временем.
1717

1818
### Внешние зависимости {#external-dependencies}
1919

2020
У React практически нет внешних зависимостей. Обычно `require()` указывает на файл из собственной кодовой базы React. Однако есть несколько исключений.
2121

22-
[Репозиторий fbjs](https://github.com/facebook/fbjs) существует, потому что React использует общий код с библиотеками такими как [Relay](https://github.com/facebook/relay). React не имеет зависимостей от модулей из экосистемы Node, для того, чтобы разработчики Facebook могли вносить изменения тогда, когда они им необходимы. fbjs не имеет внешнего API, а все его внутренние модули используются только проектами Facebook, например React.
22+
[Репозиторий fbjs](https://github.com/facebook/fbjs) существует, потому что React использует общий код с такими библиотеками как [Relay](https://github.com/facebook/relay). React не имеет зависимостей от модулей из экосистемы Node, для того, чтобы разработчики Facebook могли вносить изменения тогда, когда они им необходимы. fbjs не имеет внешнего API, а все его внутренние модули используются только проектами Facebook, например React.
2323

2424
### Папки верхнего уровня {#top-level-folders}
2525

26-
После клонирования [репозитория React](https://github.com/facebook/react), вы увидите папки верхнего уровня:
26+
После клонирования [репозитория React](https://github.com/facebook/react) вы увидите папки верхнего уровня:
2727

2828
* [`packages`](https://github.com/facebook/react/tree/master/packages) содержит метаданные (такие как `package.json`) и исходный код (подпапка `src`) для каждого пакета из репозитория React. **Большая часть работы с кодом происходит в подпапках `src` внутри каждого пакета.**
2929
* [`fixtures`](https://github.com/facebook/react/tree/master/fixtures) содержит несколько небольших React-приложений для контрибьютеров.
@@ -84,17 +84,17 @@ invariant(
8484

8585
**Если условие внутри `invariant` равно `false`, тогда выбрасывается исключение.**
8686

87-
"Инварианты" -- это всего лишь способ сказать: "Условие всегда истинно". Вы можете думать о них как об assertion.
87+
"Инварианты" -- это всего лишь способ сказать: "Условие всегда истинно". Вы можете думать о них как об утверждениях (assertion).
8888

8989
Важно чтобы режимы разработки и продакшена имели похожее поведение, поэтому исключения выбрасываются в обоих режимах. Сообщения об ошибках в продакшене автоматически заменяются кодами ошибок, для того, чтобы избежать разрастания бандла.
9090

9191
### Режимы разработки и продакшена {#development-and-production}
9292

93-
Вы можете использовать псевдо-глобальную переменную `__DEV__`, чтобы блок кода присутствовал только в режиме разработки.
93+
Вы можете использовать псевдоглобальную переменную `__DEV__`, чтобы блок кода присутствовал только в режиме разработки.
9494

95-
На этапе компиляции добавится проверка `process.env.NODE_ENV !== 'production'`, определяющая, должен ли данный блок кода присутствовать в CommonJS билде.
95+
На этапе компиляции добавится проверка `process.env.NODE_ENV !== 'production'`, определяющая, должен ли данный блок кода присутствовать в сборке CommonJS.
9696

97-
Выражение будет равно `true` в неминифицированном билде, а в минифицированном будет вырезан весь блок вместе с `if`.
97+
Выражение будет равно `true` в неминифицированной сборке, а в минифицированном будет вырезан весь блок вместе с `if`.
9898

9999
```js
100100
if (__DEV__) {
@@ -148,7 +148,7 @@ var ReactHostComponent = {
148148
module.exports = ReactHostComponent;
149149
```
150150

151-
Поле `injection` нигде не используется. Но по соглашению, это означает, что модуль хочет иметь зависимости (предположительно, платформо-зависимые), которые будут инжектится во время выполнения.
151+
Поле `injection` нигде не используется. Но по соглашению оно означает, что модуль может иметь зависимости (предположительно, платформо-зависимые), которые будут подключаться во время выполнения.
152152

153153
В репозитории существует много мест с использованием инъекций. В будущем мы хотим избавиться от механизма динамических инъекций и соединять все фрагменты статически во время сборки.
154154

@@ -166,7 +166,7 @@ React является [монолитным репозиторием](https://d
166166

167167
**Ядро включает в себя только API необходимый для объявления компонентов.** Оно не включает [алгоритм согласования](/docs/reconciliation.html) или какой-либо платформо-специфический код. Этот код находится в компонентах React DOM и React Native.
168168

169-
Код ядра расположен в папке [`packages/react`](https://github.com/facebook/react/tree/master/packages/react). Он доступен в npm репозитории как пакет [`react`](https://www.npmjs.com/package/react). Соответствующий билд для браузера экспортирует глобальную переменную `React` и называется `react.js`.
169+
Код ядра расположен в папке [`packages/react`](https://github.com/facebook/react/tree/master/packages/react). Он доступен в npm в виде пакета [`react`](https://www.npmjs.com/package/react). Соответствующая сборка для браузера экспортирует глобальную переменную `React` и называется `react.js`.
170170

171171
### Рендереры {#renderers}
172172

@@ -176,31 +176,31 @@ React является [монолитным репозиторием](https://d
176176

177177
Они расположены в каталоге [`packages/`](https://github.com/facebook/react/tree/master/packages/):
178178

179-
* [React DOM Renderer](https://github.com/facebook/react/tree/master/packages/react-dom) рендерит React компоненты в DOM. Он реализует [`ReactDOM` APIs](/docs/react-dom.html) и доступен как пакет [`react-dom`](https://www.npmjs.com/package/react-dom) из npm репозитория. Можно подключать как отдельный бандл `react-dom.js`, экспортирующий глобальную переменную `ReactDOM`.
180-
* [React Native Renderer](https://github.com/facebook/react/tree/master/packages/react-native-renderer) рендерит React компоненты в нативные view. Используется внутри React Native.
181-
* [React Test Renderer](https://github.com/facebook/react/tree/master/packages/react-test-renderer) рендерит React компоненты в JSON дерево. Используется [снэпшотами](https://facebook.github.io/jest/blog/2016/07/27/jest-14.html) из фреймворка [Jest](https://facebook.github.io/jest) и доступен как пакет [react-test-renderer](https://www.npmjs.com/package/react-test-renderer) из npm репозитория.
179+
* [React DOM Renderer](https://github.com/facebook/react/tree/master/packages/react-dom) рендерит React-компоненты в DOM. Он реализует [`ReactDOM` API](/docs/react-dom.html) и доступен как пакет [`react-dom`](https://www.npmjs.com/package/react-dom) из npm репозитория. Можно подключать как отдельный бандл `react-dom.js`, экспортирующий глобальную переменную `ReactDOM`.
180+
* [React Native Renderer](https://github.com/facebook/react/tree/master/packages/react-native-renderer) рендерит React компоненты в нативные представления. Используется внутри React Native.
181+
* [React Test Renderer](https://github.com/facebook/react/tree/master/packages/react-test-renderer) рендерит React компоненты в JSON-дерево. Используется при [тестировании снимками](https://facebook.github.io/jest/blog/2016/07/27/jest-14.html) через фреймворк [Jest](https://facebook.github.io/jest) и доступен как пакет [react-test-renderer](https://www.npmjs.com/package/react-test-renderer) в npm.
182182

183-
Мы начали поддерживать единственный неофициальный рендерер [`react-art`](https://github.com/facebook/react/tree/master/packages/react-art), который раньше находился в отдельном [Github репозитории](https://github.com/reactjs/react-art).
183+
Мы начали поддерживать единственный неофициальный рендерер [`react-art`](https://github.com/facebook/react/tree/master/packages/react-art), который раньше находился в отдельном [GitHub-репозитории](https://github.com/reactjs/react-art).
184184

185185
>**Примечание:**
186186
>
187-
>Технически [`react-native-renderer`](https://github.com/facebook/react/tree/master/packages/react-native-renderer) -- это очень тонкий слой, который учит React взаимодействовать с React Native. Платформо-специфический код, управляющий нативными view, расположен в [репозитории React Native](https://github.com/facebook/react-native) вместе с его компонентами.
187+
>Технически [`react-native-renderer`](https://github.com/facebook/react/tree/master/packages/react-native-renderer) -- это очень тонкий слой, который учит React взаимодействовать с React Native. Платформо-специфический код, управляющий нативными представлениями, расположен в [репозитории React Native](https://github.com/facebook/react-native) вместе с его компонентами.
188188
189189
### Согласователи {#reconcilers}
190190

191191
Даже очень непохожим рендерерам, таким как React DOM и React Native, необходимо разделять много логики. В частности, реализации [алгоритма согласования](/docs/reconciliation.html) должны быть настолько похожими, чтобы декларативный рендеринг, пользовательские компоненты, состояние, методы жизненного цикла и рефы работали одинаково между различными платформами.
192192

193193
В качестве решения, различные рендереры имеют между собой общий код. В React мы называем эту часть «согласователь». Когда запланировано такое обновление, как `setState()`, согласователь вызывает `render()` в дереве компонентов и монтирует, обновляет либо размонтирует их.
194194

195-
Согласователи не являются отдельнымы пакетами, потому что не имеют открытого API. Вместо этого, они используются исключительно такими рендерерами как React DOM и React Native.
195+
Согласователи не являются отдельнымы пакетами, потому что не имеют открытого API. Вместо этого они используются исключительно такими рендерерами как React DOM и React Native.
196196

197197
### Согласователь Stack {#stack-reconciler}
198198

199-
Cогласователь «Stack» -- это реализация, которая использовалась в React 15 и более ранних версиях. Мы перестали её использовать, но задокументировали в [следующией главе](/docs/implementation-notes.html).
199+
Cогласователь «Stack» -- это реализация, которая использовалась в React 15 и более ранних версиях. Мы перестали его использовать, но задокументировали в [следующией главе](/docs/implementation-notes.html).
200200

201201
### Cоглаcователь Fiber {#fiber-reconciler}
202202

203-
В согласователе «Fiber» мы пытаемся исправить давно существующие ошибки и решить проблемы, появившиеся в соглаователе Stack.
203+
В согласователе «Fiber» мы пытаемся исправить давно существующие ошибки и решить проблемы, появившиеся в согласователе Stack.
204204

205205
Его основными целями являются:
206206

0 commit comments

Comments
 (0)