Update: Reason React now has a built-in routing feature which you can use instead of the library described in this post However  if you can't use pushState routing (eg because your app uses completely static hosting)  the technique described in this post still works fine