You know that you have one root node inside your application that contains all of the React code. Can you have multiple root nodes inside one application? Let’s find out the answer to this in the next video.
As you saw in the video above, you can have as many root nodes inside your application as you want. One root node suffices in a small application, but you can have multiple root nodes depending upon the needs of your application.
When do you need to have multiple root nodes inside an application?
Can you recall that one of the advantages of using React is that it doesn’t make any assumption about your technology stack? Imagine that you want to ship only some features in React in an application, which is not primarily built using React. These features are spread across your entire application and are written at multiple places inside the application. Now, how will you achieve this without touching the rest of your independently existing code? This can be possible only when you are able to choose selective pieces of your existing code to be shipped, convert them into React, and then plug these new React code pieces back into different places inside your application. Having multiple root elements help you achieve this and, thus, redefine your application using React. As seen in the last video, each root node can contain multiple React components, and these root nodes can be plugged into different places inside your application.
The next question that arises is, “How do you render elements into DOM in React?”. You can use the ReactDOM.render() method for this purpose. Watch the next video to learn more about this method.
Syntax of the ReactDOM.render() method:
ReactDOM.render(argument_1, argument_2);
argument_1 tells WHAT to render.
argument_2 tells WHERE to render.
Let’s look at another interesting fact about this method in the next video.
Notes:
There must be two arguments in the ReactDOM.render() method.
The first argument of the ReactDOM.render() method tells you what is to be rendered. This does not mean that only one element can be rendered in the first argument. Multiple elements can be rendered by enclosing them inside a parent div container. Also, this argument does not necessarily have to be a component. This argument can also take JSX code directly.
The second argument of the ReactDOM.render() method can be anything that specifies a location on the DOM, where the element(s) in the first argument need to be rendered.