📅  最后修改于: 2023-12-03 15:34:38.829000             🧑  作者: Mango
React Native 和 React 都是 Facebook 开源的 JavaScript 库,用于构建用户界面。但是它们有一些明显的区别:
React Native 主要用于构建移动应用,支持 iOS 和 Android 平台。而 React 则用于 Web 应用的构建。
// React
import React from 'react';
// React Native
import React from 'react-native';
React Native 的 UI 组件是原生组件,而 React 的 UI 组件是 Web 组件。这就意味着,在 React Native 中使用的是原生的组件,而在 React 中使用的是 HTML 元素。
// React
import { Button } from 'react';
// React Native
import { Button } from 'react-native';
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',
},
});
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';
React Native 不能直接在浏览器中运行,需要通过打包成本地应用来运行。而 React 则可以通过打包成静态文件,在浏览器中运行。
// React
npm run build
// React Native
react-native run-ios (or run-android)
总的来说,React Native 和 React 都是用于构建用户界面的优秀 JavaScript 库。二者的区别主要在于平台、UI 组件、样式、路由和打包等方面。