After working for many years with server-side technologies, where the full HTML is generated and sent back in one large chunk, it has been interesting to move to a modular system framework. Working with ReactJS has shifted my mindset in application development because of the way that one component can interact with another, even when not connected in a normal parent / child / grandparent way.
Sure, you have things like partials in server-side frameworks, where you include the same subset of content in more than one page. That’s not a new concept to me. When getting a consistent look and feel across a project, I would make components to wrap common interface designs.
This website is great at explaining that same thought process.