How To Choose Between react Native And React JS
React Native is a highly popular mobile framework that can be compiled into native apps components. React Native is today fast emerging and becoming highly popular as a platform to build native mobile apps Windows, Android, and iOS in JavaScript. It is possible to implement React JS under the hood.

React JS, the front end library created by Facebook is used to manage the view layer for the mobile and web apps. React JS is highly useful to create UI components that can be reused. We can say React JS is today the most popular JavaScript library with a strong foundation and a huge community behind it.
Comparing between React Native and react JS
The concept underlying React Native and react JS are almost the same. You can write JSX on both these platforms. The only difference you find between them is the rendering mechanism.
React JS makes use of react-dom implementation for rendering the components to the DOM. We find this library much bigger than React JS. React Native has its own unique way of implementing the rendering components for native platforms. The styling on React Native is more of a flexbox type instead of the standard CSS for the web. While you can use React JS directly in the DOM, you will have to compile React Native to the native code.
React can be seen predominantly as a framework for building applications using JavaScript. React Native is a full-fledged platform that enables you build applications by investing in the power of JavaScript. You can depend on React Native to build cross-platform applications as well as native applications. On the other hand, we see React JS as a JavaScript library highly useful to create a high performing UI layer.
React JS advantages
React JS code components can be reused and this can save you a lot of time. The complete rendering of your pages right from the server to the browser will help improve the SEO of your web application. Since it helps increase the debugging speed, the developer’s job becomes much easier. Even those that are unfamiliar with react will find it easily readable. Many frameworks require the developers to learn a long list of concepts that are useful within the framework. React endeavors to do just the opposite.
React Native Benefits
The native modules forming part of react Native help improve performance. React Native also comes with the advantages of React JS. Since React JS focuses on a better type of UI, the benefits are retained. It is not necessary to build the same application for iOS and Android independently as React Native enables reusing of the common logic layer. The component based structure of React Native facilitates developers build apps with more agile nature in a web-styled fashion when compared to most other kind of hybrid frameworks.
Conclusion
React JS is the ideal option for building dynamic and high performing UI for your web interfaces that are responsive. On the other hand, React Native is a great option when you wish to give your mobile apps a truly native feel.