A bit OT but without knowing much about React it looks like you need to put your markup in your logic. What happened to the separation where the markup lives in its own template files? Seems like a big issue to me.
https://www.youtube.com/watch?v=DgVS-zXgMTk#t=182
Basically, the idea is that most JS templating solutions separate technologies (HTML , JS, templating languages), but don't actually separate concerns, because the concern is simply generating and updating DOM regardless of how many technologies you use.
Most JavaScript frameworks or libraries that handling generating and updating DOM, like Ember's two-way binding with Handlebars and Angular's dirty checking with directives, don't really separate markup from logic. They just invent a new language to mix with your HTML, and that new language is deliberately made extremely weak.
[0] http://www.confreaks.com/videos/2953-jsconfeu2013-rethinking...