Yeah I think one of the main things that React offers is a DSL for trees (JSX) that can lexically close over and also splice in JavaScript. Languages that allow creating your own DSLs offer this for other realms such as shader coding, logic programming etc. within the metalanguage.