The great thing about React is that it can be implemented gradually (if you want to). Some JS frameworks require you to make a big investment in their infrastructure in order to start getting any usable results, but React allows you to start replacing components of your web app piece-by-piece. It is highly effective for teams because it encourages the reuse of UI patterns and requires a readable syntax.
We prefer to use React and Redux when we’re building a full client side application as opposed to a website with some rich interactions.
Redux is a Flux Library we use to maintain state when using React. Using Redux you define actions which you use to modify your state. This prevents bugs that were common when using plain ReactJS.
React Native gives our team the chance to write fast, native applications on Android and iOS in a single codebase while sharing large amounts of logic. This means we can ship faster to both platforms.