argh.. I hate the style of mixing JS with markup language....
In order to completely avoid JS in the markup, event binding must be done outside of the markup. I do this by using event delegation rather than binding directly to elements.
React.createElement('h1', {}, 'Hello')
Personally I like JSX a lot, but you don't have to use it. h1('Hello')
https://github.com/Jador/react-hyperscript-helpers