We use a library call virtual-jade. Like react compiles jsx to JS, it compiles pug/jade to JS as h(node, attrs, children) calls. With with react, preact and snabdom.
It's been amazing writing templates that are just functions in a clean language like jade/pug. Jsx still has a lot of boiler plate.
https://github.com/tdumitrescu/virtual-jade
Also has a webpack loader https://github.com/tdumitrescu/virtual-jade-loader
Most of all I love this kind of libs that work well with other libs. It's like Lego programming. Choose bricks you like and stack them.
I just wanted to render a list components or conditionally render something.
When I made the move to React - following the painful Angular2 beta update - I was so relieved to just use Javascript again.