ReactJS is a JavaScript library, supporting both front-end web and being run on a server, for building user interfaces and web applications.
React Native is a mobile framework that compiles to native app components, allowing you to build native mobile applications for different platforms (iOS, Android, and Windows Mobile) in JavaScript that allows you to use ReactJS to build your components, and implements ReactJS under the hood.
Both are open sourced by Facebook.
Main differences between Reactjs and React Native
When it comes to a web platform, Reactjs can be defined as a base derivative of React DOM, while React Native acts as a base derivative by keeping workflow and syntax the same alongside altering components.
React is a JavaScript library that can help your developers in building a highly responsive UI Layer and React Native on the other hand is a complete framework to develop cross-platform applications.
Virtual DOM is used to extract browser code in React; native APIs help in rendering components in mobile in React Native.
In React Native, UI is rendered with the help of JSX but the applications curated with Reactjs extract HTML in UI.
For styling in Reactjs, CSS is used, and React Native platform requires a stylesheet for styling.
Using CSS, you can carry out animation in Reactjs; for animation in React Native, you need to use an animated API.