To "just" use self contained, configurable, property-defined components that can be shared, re-used, filled with state - that isn't trivial. Which is why they're React components. The components themselves are very lean, there's a bit of code, some markup, a piece of CSS and that's that. The code i have linked compiles down to a couple of bytes.