📜  React Native 和 React 有什么区别?(1)

📅  最后修改于: 2023-12-03 15:34:38.829000             🧑  作者: Mango

React Native 和 React 有什么区别?

React Native 和 React 都是 Facebook 开源的 JavaScript 库,用于构建用户界面。但是它们有一些明显的区别:

1. 平台

React Native 主要用于构建移动应用,支持 iOS 和 Android 平台。而 React 则用于 Web 应用的构建。

// React
import React from 'react';

// React Native
import React from 'react-native';
2. UI 组件

React Native 的 UI 组件是原生组件,而 React 的 UI 组件是 Web 组件。这就意味着,在 React Native 中使用的是原生的组件,而在 React 中使用的是 HTML 元素。

// React
import { Button } from 'react';

// React Native
import { Button } from 'react-native';
3. 样式

React Native 使用的是 Flexbox 来排版,而 React 使用的是 CSS。在 React Native 中,还可以使用 StyleSheet API 来定义样式,让应用的渲染更加高效。

// React
const styles = {
  container: {
    display: 'flex',
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: 'white',
    width: '100%',
    height: '100%'
  }
}

// React Native
import { StyleSheet } from 'react-native'

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: 'white',
  },
});
4. 路由

React 使用的是 React Router 来进行路由管理,而 React Native 使用的则是 React Navigation。

// React
import { BrowserRouter as Router, Switch, Route, Link } from 'react-router-dom';

// React Native
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
5. 打包

React Native 不能直接在浏览器中运行,需要通过打包成本地应用来运行。而 React 则可以通过打包成静态文件,在浏览器中运行。

// React
npm run build

// React Native
react-native run-ios (or run-android)

总的来说,React Native 和 React 都是用于构建用户界面的优秀 JavaScript 库。二者的区别主要在于平台、UI 组件、样式、路由和打包等方面。