The irony is that React is controversial because of mixing HTML and JS but in Angular you also are encouraged to mix JavaScript and JavaScript-like expressions with HTML (e.g. in ng-click or when setting ng-class conditionally). And you must insert some weird looking DSL to HTML.<p>So I think that React way of using plain old JavaScript as a DSL for creating HTML components is indeed more elegant and more expressive that Angular way of injecting an artificial created and limited DSL and chunks of JS-like code to HTML trying to figure out how to make things properly.