isValidElement
Referencia
isValidElement(value)
Llama a isValidElement(value)
para comprobar si value
es un elemento de React.
Parámetros
value
: Elvalor
que deseas comprobar. Puede ser cualquier valor de cualquier tipo.
Devuelve
isValidElement
devuelve true
si value
es un elemento de React. En caso contrario, devuelve false
.
Advertencias
- Sólo las y los objetos devueltos por se consideran elementos de React. Por ejemplo, aunque un número como
42
es un nodo de React válido (y puede ser devuelto desde un componente), no es un elemento de React válido. Los arrays y portales creados con tampoco se consideran elementos de React.
Uso
Comprobar si algo es un elemento de React
Llama isValidElement
para comprobar si algún valor es un elemento de React.
Los elementos de React son:
- Los valores producidos al escribir una
- Los valores producidos por llamar
Para los elementos de React, isValidElement
devuelve true
:
Cualquier otro valor, como strings, números u objetos arbitrarios y arrays, no son elementos de React.
Para ellos, isValidElement
devuelve false
:
Es muy poco común necesitar isValidElement
. Es más útil si estás llamando a otra API que sólo acepta elementos (como hace y quieres evitar un error cuando tu argumento no es un elemento de React.
A menos que tengas alguna razón muy específica para añadir una comprobación con isValidElement
, probablemente no la necesites.
Profundizar
Elementos de React vs nodos de React
Elementos de React vs nodos de React
Cuando escribas un componente, puedes devolver cualquier tipo de nodo de React de él:
Un nodo de React puede ser:
- Un elemento de React creado como
<div />
ocreateElement('div')
- Un portal creado con
- Un string
- Un número
true
,false
,null
, oundefined
(que no se visualizan)- Un array de otros nodos de React
Nota que isValidElement
comprueba si el argumento es un elemento de React, no si es un nodo de React. Por ejemplo, 42
no es un elemento de React válido. Sin embargo, es un nodo de React perfectamente válido:
Por eso no deberías usar isValidElement
como forma de comprobar si algo puede ser renderizado.