A React.js documentary was recently released, and it's an interesting watch (link).
Some interesting takeaways:
Sometimes doing extra work on the margin is worth it if the implementation is significantly simpler. Before React, model-view-controller architectures had complicated two-way data binding rules and complex DOM interactions. While rendering (essentially) the whole page again seemed like more work at first, it made code easier to reason about, more reusable, and provided room for optimizations in the future.
It's generally hard to open-source a library that's already internally been in production. You can see the stark difference between something like Kubernetes (which was inspired by the internal equivalent, Borg, but developed de novo) and Bazel (which was open-sourced from Google's internal Blaze with minor changes).
People hated JSX and React at first, partly because React contained so many different paradigms that were obvious inside Facebook but foreign to the rest of the JavaScript world at the time.