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
В большинстве случаев мы рекомендуем использовать [контролируемые компоненты](/docs/forms.html) для работы с формами. В контролируемом компоненте, данные формы обрабатываются React-компонентом. Альтернативой являются неконтролируемые компоненты, где данные форм обрабатываются через DOM.
7
+
В большинстве случаев мы рекомендуем использовать [контролируемые компоненты](/docs/forms.html) для работы с формами. В контролируемом компоненте, данные формы обрабатываются React-компонентом. В качестве альтернативы можно использовать неконтролируемые компоненты. Они хранят данные формы прямо в DOM.
8
8
9
-
Вместо того, чтобы писать обработчик события для каждого обновления состояния, вы можете использовать неконтролируемый компонент и [реф](/docs/refs-and-the-dom.html) для получения значений из DOM.
9
+
Вместо того, чтобы писать обработчик события для каждого обновления состояния, вы можете использовать неконтролируемый компонент и читать значения из DOM через [реф](/docs/refs-and-the-dom.html).
10
10
11
11
Вот так, к примеру, можно получить имя в обработчике неконтролируемого компонента:
12
12
@@ -41,11 +41,11 @@ class NameForm extends React.Component {
41
41
42
42
Такие компоненты хранят данные в DOM и их проще интегрировать в не React-приложении. Этот код можно сократить, если пожертвовать стилистикой. В противном случае лучше использовать контролируемые компоненты.
43
43
44
-
Если всё ещё остаётся непонятным какой тип компонента вам необходимо использовать в конкретной ситуации, то, возможно, [статья о контролируемых против некотролируемых input'ах](http://goshakkk.name/controlled-vs-uncontrolled-inputs-react/) может показаться полезной.
44
+
Если всё ещё остаётся неясным, какой тип компонента необходимо использовать в конкретной ситуации, то, возможно, [статья про сравнение контролируемых и некотролируемых полях ввода](http://goshakkk.name/controlled-vs-uncontrolled-inputs-react/) может показаться полезной.
45
45
46
46
### Значения по умолчанию {#default-values}
47
47
48
-
На этапе рендеринга жизненного цикла в React, атрибут `value`на элементах формы будет переопределять значение в DOM. С неконтролируемым компонентом вам часто необходимо, чтобы React определял первоначальное значение, но оставлял неконтролируемыми последующие обновления. В этом случае, необходимо определить атрибут `defaultValue` вместо `value`.
48
+
На этапе рендеринга жизненного цикла в React, атрибут `value`полей ввода переопределяет значение в DOM. С неконтролируемым компонентом зачастую нужно, чтобы React опредил первоначальное значение, но впоследствии ничего не делал с ним. В этом случае необходимо определить атрибут `defaultValue` вместо `value`.
49
49
50
50
```javascript{7}
51
51
render() {
@@ -68,15 +68,15 @@ render() {
68
68
69
69
## Тег поля загрузки файла {#the-file-input-tag}
70
70
71
-
HTML-тег `<input type="file">` позволяет пользователю выбрать один или несколько файлов из хранилища, чтобы загрузить их на сервер, либо управлять ими с помощью JavaScript, воспользовавшись[File API](https://developer.mozilla.org/ru/docs/Web/API/File/Using_files_from_web_applications).
71
+
HTML-тег `<input type="file">` позволяет пользователю выбрать один или несколько файлов из дискового устройства, чтобы загрузить их на сервер, либо управлять ими с помощью JavaScript через[File API](https://developer.mozilla.org/ru/docs/Web/API/File/Using_files_from_web_applications).
72
72
73
73
```html
74
74
<inputtype="file" />
75
75
```
76
76
77
77
В React `<input type="file">` всегда является неконтролируемым компонентом, потому что его значение может быть установлено только пользователем, а не программным путём.
78
78
79
-
Вам следует использовать File API для взаимодействия с файлами. В следующем примере показано, как создать [реф на DOM-узел](/docs/refs-and-the-dom.html) для получения доступа к файлам в обработчике отправки:
79
+
Следует использовать File API для взаимодействия с файлами. В следующем примере показано, как создать [реф на DOM-узел](/docs/refs-and-the-dom.html), чтобы получить доступ к файлам в обработчике отправки формы:
0 commit comments