> React provides templating and data binding functionality with an HTML-like syntax and an object-oriented development style, just like custom elements.
That is 100% false. You are mistaking an optional compile time DSL for imperative HTML templates.
A declarative component is a function that takes data and returns layout declarations, functions as well: `createElement(name, attributes, […children])`. Therein lies all its power.