React.js와 React Native를 이용하면 React Native 기반으로 한 ios와 android용 모바일 앱을 구축할 수 있습니다. 여기서 React.js는 React Native와는 별개의 라이브러리입니다.
React.js는 인터페이스 구축을 위한 JavaScript라이브러리이며, 보통 웹 개발에 사용이 됩니다. 이 때 react-dom라이브러리가 웹 지원을 돕게 됩니다. React 는 상태를 관리하고 가상의 컴포넌트 트리를 구축하는 툴 뿐이며, react-dom등의 추가적인 라이브러리를 통해 React가 산출한 결과를 브라우저등의 플랫폼에 표시해줍니다.
React Native는 react-dom의 대안으로 React Native에 있는 여러 특별한 React 컴포넌트를 jsx에서 사용을 할 수 있습니다. 이렇게 React Native에 내장된 컴포넌트들은 ios 및 Android플랫폼을 위해 네이티브 UI 요소로 컴파일이 됩니다. 이때 React Native가 컴파일 단계를 처리하게 됩니다.
즉 기능은 react-dom과 비슷하지만 플랫폼 대상이 웹브라우저가 아니라 ios 및 Android 인 것입니다. 해당 플랫폼과 상호작용하고 플랫폼을 위한 앱을 구축하기 위한 모든 컴포넌트와 API를 제공합니다.