Sometimes, we may encounter the ‘Objects are not valid as a React child. If you meant to render a collection of children, use an array instead’ error when we’re developing our React apps.
In this article, we’ll look at how the ‘Objects are not valid as a React child. If you meant to render a collection of children, use an array instead’ error when we’re developing our React apps.
Fix the ‘Objects are not valid as a React child. If you meant to render a collection of children, use an array instead’ Error
We can fix the ‘Objects are not valid as a React child. If you meant to render a collection of children, use an array instead’ error by rendering an array with the map method or render objects as strings or render the properties individually.
For instance, we can write:
const arr = [1, 2, 3];
export default function App() {
return (
<div className="App">
{arr.map((num) => (
<div key={num}>{num}</div>
))}
</div>
);
}
to render the arr array into multiple divs.
We set the key prop to a unique key.
And we render num , which is a number, as the content.
We can only render primitive values directly by putting them between curly braces.
If we have an object, we can render it as a string by writing:
const obj = { foo: 1, bar: 2 };
export default function App() {
return <div className="App">{JSON.stringify(obj)}</div>;
}
We converted the obj object into a string with JSON.stringify .
Or we can render the properties in the object:
const obj = { foo: 1, bar: 2 };
export default function App() {
return <div className="App">{obj.foo}</div>;
}
Conclusion
We can fix the ‘Objects are not valid as a React child. If you meant to render a collection of children, use an array instead’ error by rendering an array with the map method or render objects as strings or render the properties individually.
One reply on “How to Fix the ‘Objects are not valid as a React child. If you meant to render a collection of children, use an array instead’ Error?”
This was really helpful! Thank you! 🙂