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
*`value`: The `value` you want to check. It can be any a value of any type.
42
+
*`value`: `value`, которое вы хотите проверить. Может быть значением любого типа.
43
43
44
-
#### Returns {/*returns*/}
44
+
#### Возвращает {/*returns*/}
45
45
46
-
`isValidElement`returns`true` if the `value`is a React element. Otherwise, it returns`false`.
46
+
`isValidElement`возвращает`true`, если `value`является React-элементом. В противном случае возвращает`false`.
47
47
48
-
#### Caveats {/*caveats*/}
48
+
#### Ограничения {/*caveats*/}
49
49
50
-
***Only[JSX tags](/learn/writing-markup-with-jsx)and objects returned by [`createElement`](/reference/react/createElement) are considered to be React elements.**For example, even though a number like `42`is a valid React*node* (and can be returned from a component), it is not a valid React element. Arrays and portals created with [`createPortal`](/reference/react-dom/createPortal) are also *not* considered to be React elements.
50
+
***Только[JSX-теги](/learn/writing-markup-with-jsx)и объекты, возвращаемые [`createElement`](/reference/react/createElement), считаются React-элементами.**Например, даже если число `42`является допустимым React-*узлом* (и может быть возвращено из компонента), оно не является допустимым React-элементом. Массивы и порталы, созданные с помощью [`createPortal`](/reference/react-dom/createPortal), также *не* считаются React-элементами.
51
51
52
52
---
53
53
54
-
## Usage {/*usage*/}
54
+
## Использование {/*usage*/}
55
55
56
-
### Checking if something is a React element {/*checking-if-something-is-a-react-element*/}
56
+
### Проверка, является ли что-то React-элементом {/*checking-if-something-is-a-react-element*/}
57
57
58
-
Call`isValidElement` to check if some value is a *React element.*
58
+
Вызовите`isValidElement`, чтобы проверить, является ли некоторое значение *React-элементом*.
59
59
60
-
React elements are:
60
+
React-элементы:
61
61
62
-
-Values produced by writing a [JSX tag](/learn/writing-markup-with-jsx)
63
-
-Values produced by calling[`createElement`](/reference/react/createElement)
62
+
-Значения, созданные с помощью [JSX-тега](/learn/writing-markup-with-jsx)
It is very uncommon to need `isValidElement`. It's mostly useful if you're calling another API that *only* accepts elements (like[`cloneElement`](/reference/react/cloneElement) does) and you want to avoid an error when your argument is not a React element.
93
+
Очень редко возникает необходимость использовать `isValidElement`. В основном это полезно, если вы вызываете другой API, который принимает *только* элементы (как[`cloneElement`](/reference/react/cloneElement)), и вы хотите избежать ошибки, когда ваш аргумент не является React-элементом.
94
94
95
-
Unless you have some very specific reason to add an `isValidElement` check, you probably don't need it.
95
+
Если у вас нет очень веской причины добавлять проверку `isValidElement`, скорее всего, она вам не нужна.
96
96
97
97
<DeepDive>
98
98
99
-
#### React elements vs React nodes {/*react-elements-vs-react-nodes*/}
99
+
#### React-элементы против React-узлов {/*react-elements-vs-react-nodes*/}
100
100
101
-
When you write a component, you can return any kind of*React node* from it:
101
+
Когда вы пишете компонент, вы можете вернуть из него любой*React-узел*:
102
102
103
103
```js
104
104
functionMyComponent() {
105
-
// ... you can return any React node ...
105
+
// ... вы можете вернуть любой React-узел ...
106
106
}
107
107
```
108
108
109
-
A React node can be:
109
+
React-узел может быть:
110
110
111
-
-A React element created like `<div />`or`createElement('div')`
112
-
-A portal created with[`createPortal`](/reference/react-dom/createPortal)
113
-
-A string
114
-
-A number
115
-
-`true`, `false`, `null`, or`undefined` (which are not displayed)
116
-
-An array of other React nodes
111
+
- React-элементом, созданным как `<div />`или`createElement('div')`
112
+
-Порталом, созданным с помощью[`createPortal`](/reference/react-dom/createPortal)
113
+
-Строкой
114
+
-Числом
115
+
-`true`, `false`, `null` или`undefined` (которые не отображаются)
116
+
-Массивом других React-узлов
117
117
118
-
**Note `isValidElement`checks whether the argument is a *React element,* not whether it's a React node.**For example, `42`is not a valid React element. However, it is a perfectly valid React node:
118
+
**Обратите внимание: `isValidElement`проверяет, является ли аргумент *React-элементом*, а не React-узлом.**Например, `42`не является допустимым React-элементом. Однако это вполне допустимый React-узел:
119
119
120
120
```js
121
121
functionMyComponent() {
122
-
return42; //It's ok to return a number from component
122
+
return42; //Возвращать число из компонента нормально
123
123
}
124
124
```
125
125
126
-
This is why you shouldn't use`isValidElement`as a way to check whether something can be rendered.
126
+
Вот почему вы не должны использовать`isValidElement`для проверки того, можно ли что-то отрисовать.
0 commit comments