Js_of_ocaml takes lowlevel bytecode from OCaml compiler, BuckleScript takes the highlevel rawlambda representation from OCaml compiler
Js_of_ocaml focuses more on existing OCaml eco-system(opam) while BuckleScript's major goal is to target npm
Js_of_ocaml and BuckleScript have slightly different runtime encoding in several places, for example, BuckleScript encodes OCaml Array as JS Array while js_of_ocaml requires its index 0 to be of value 0.
Both projects are improving quickly, so this can change in the future!
The name makes it impossible to research to find any blog posts or anything, but the familiar syntax alone might make it at least a first step for me.
I know it's dumb that the thing holding me back from OCaml is the syntax, but after giving up on an Om project I've come to accept js will always be the greatest common denominator.
[0]: https://xivilization.net/~marek/blog/2016/05/19/reason-lets-...
Reason doesn't yet work with Edgar(OP)'s React bindings yet, but it could easily (and therefore JSX would work as well).