It is very uncommon to need `isValidElement`. It's mostly useful if you're calling another API that *only* accepts elements (like [`cloneElement`](/api/react/cloneElement) does) and you want to avoid an error when your argument is not a React element.
Unless you have some very specific reason to add an `isValidElement` check, you probably don't need it.
<DeepDivetitle="React elements vs React nodes">
When you write a component, you can return any kind of *React node* from it:
```js
function MyComponent() {
// ... you can return any React node ...
}
```
A React node can be:
- A React element created like `<div />` or `createElement('div')`
- A portal created with [`createPortal`](/apis/react-dom/createPortal)
- A string
- A number
- `true`, `false`, `null`, or `undefined` (which are not displayed)
- An array of other React nodes
**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:
```js
function MyComponent() {
return 42; // It's ok to return a number from component
}
```
This is why you shouldn't use `isValidElement` as a way to check whether something can be rendered.
</DeepDive>
---
## Reference {/*reference*/}
### `isValidElement(value)` {/*isvalidelement*/}
Call `isValidElement(value)` to check whether `value` is a React element.
* `value`: The `value` you want to check. It can be any a value of any type.
#### Returns {/*returns*/}
`isValidElement` returns `true` if the `value` is a React element. Otherwise, it returns `false`.
#### Caveats {/*caveats*/}
* **Only [JSX tags](/learn/writing-markup-with-jsx) and objects returned by [`createElement`](/api/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`](/apis/react-dom/createPortal) are also *not* considered to be React elements.