Except it's not. It has a bunch of footguns and implicit behaviours that make no sense unless you're well-versed in the internals of React.
See: https://macwright.com/2024/09/19/the-extra-rules-of-hooks
https://www.schiener.io/2024-03-03/react-closures
And JSX by itself is already a DSL, which drastically changes how it works based on the pragma used. JSX for SolidJS, Preact, Inferno or any other framework has completely different internals.
Except it's not. It has a bunch of footguns and implicit behaviours that make no sense unless you're well-versed in the internals of React.
See: https://macwright.com/2024/09/19/the-extra-rules-of-hooks
https://www.schiener.io/2024-03-03/react-closures
And JSX by itself is already a DSL, which drastically changes how it works based on the pragma used. JSX for SolidJS, Preact, Inferno or any other framework has completely different internals.