While I agree React without JSX is terrible and React with JSX isn't too great anyways ("className" vs "class"? "defaultChecked" vs "checked"? everything has to be wrapped in a parent or it errors??) it really doesn't feel bloated to me. I do almost everything inside of class method functions I define or inside of the render itself - if you're heavily leaning on stuff like shouldComponentUpdate that really feels like an antipattern regardless.