Doing "react" in the native environment is hard, you have to fight UIKit really hard to get to a good place.
[ReactiveCocoaLayout](https://github.com/ReactiveCocoa/ReactiveCocoaLayout) is a good example of how much work it takes to get close to this pattern, but the view lifecycle as a whole (adding and removing subviews, layout passes, etc.) makes it hard.
From what I understand React-Native does this for you natively under-the-hood, but using JS as an implementation detail.
I really don't think that anyone is advocating for JS being the "better language", but rather one that has a framework (read: React.js) being used in practice which will work with native view as well.
It's not about "Write once, run everywhere" but rather about "Learn once, write everywhere". React-Native encourages better design patterns for UI, especially on iOS.
[1]: https://github.com/facebook/relay/pull/2293
[2]: https://github.com/relay-tools/relay-compiler-language-types...