Modern web applications, based on the Single-Page Application model, can't do without the routing mechanism, a way to navigate among views while remaining on the same HTML page.
We can consider a view as a placeholder in the UI where we can dynamically render one component or another in an exclusive way. Let's try to clarify this concept with an example.
Suppose that we want to add a navigation bar to our Wine Catalog application. In its simplest implementation, we want to alternatively show the Catalog and an About section, providing some information about the application itself. The new UI will look like the following screenshot:
When clicking a menu item, we expect the main area to change, while the header remains the same. In this case, the main area will be the view in which we display the Catalog component...