Looks cool! Alternatively I found that Vue.js rather than React makes it really simple to handle these types of games (though you no longer have the immutability and history which can be useful for persistence). At last Ludum Dare, I quickly hacked one of those games (look at the source to see how compact it can be) http://aqua.gistnoesis.net/ld39.html .