我出于好奇心开始学习 React ,想知道React和React Native之间的区别 - 虽然用谷歌找不到满意的答案。 React和React Native似乎具有相同的格式。它们的语法完全不同吗?
答案 0 :(得分:551)
ReactJS是一个JavaScript库,支持前端Web和在服务器上运行,用于构建用户界面和Web应用程序。
React Native是一个移动框架,可编译为本机应用程序组件,允许您使用JavaScript为不同平台(iOS,Android和Windows Mobile)构建本机移动应用程序,允许您使用ReactJS构建组件,并在引擎盖下实现ReactJS。
两者都是Facebook开源的。
答案 1 :(得分:195)
以下是 React 项目(https://github.com/facebook/react)。
在Facebook,他们发明了 React ,因此JavaScript可以使用虚拟DOM模型更快地操纵网站DOM。
与React virtual-dom model相比,DOM完全刷新速度较慢,video仅刷新部分页面(读取:部分刷新)。
正如您可能从https://github.com/facebook/react-native了解到的那样,Facebook并没有发明React,因为他们立即明白部分刷新会比传统刷新更快。最初他们需要一种方法来减少Facebook应用程序的重建时间,幸运的是这使部分DOM刷新变为现实。
React native (video)只是React的结果。它是一个使用JavaScript构建本机应用程序的平台。
在 React native 之前,您需要了解适用于Android的Java或适用于iPhone和iPad的Objective-C来创建原生应用。
使用React Native,可以在JavaScript中模仿本机应用程序的行为,最后,您将获得特定于平台的代码作为输出。如果您需要进一步优化应用程序,甚至可以将本机代码与JavaScript混合使用。
正如Olivia Bishop在{{3}}中所说,85%的 React native 代码库可以在平台之间共享。这些将是应用程序通常使用的组件和通用逻辑。
15%的代码是特定于平台的。特定于平台的JavaScript提供了平台风格(并且在体验上有所不同)。
这个特定平台的代码很酷 - 已经编写好了,所以你只需要使用它。
答案 2 :(得分:70)
<强>阵营:强>
React是一个声明性,高效且灵活的JavaScript库 构建用户界面。
React Native:
React Native可以让你 仅使用JavaScript构建移动应用程序。它使用相同的设计 React,让您从声明中构建丰富的移动UI 组件。
使用React Native,您不构建“移动Web应用程序”, “HTML5应用”或“混合应用”。你构建了一个真正的移动应用程序 与使用Objective-C或Java构建的应用程序无法区分。应对 Native使用与常规iOS和iOS相同的基本UI构建块 Android应用。您只需将这些构建块放在一起使用即可 JavaScript和React。
React Native可让您更快地构建应用程序。 您可以立即重新加载应用,而不是重新编译。随着热 重新加载,您甚至可以在保留应用程序的同时运行新代码 州。尝试一下 - 这是一种神奇的体验。
React Native 与使用Objective-C,Java或Java编写的组件平滑地结合 迅速。如果需要优化,可以简单地下载到本机代码 您的申请的几个方面。建立一部分也很容易 您的应用程序在React Native中,以及使用本机代码的应用程序的一部分 直接 - 这就是Facebook应用程序的运作方式。
所以基本上 React 是用于您的网络应用视图的UI库,使用 javascript 和 JSX , React native 是React顶部的额外库,用于为iOS
和Android
设备制作原生应用。
反应代码示例:
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
class Clock extends React.Component {
constructor(props) {
super(props);
this.state = {date: new Date()};
}
componentDidMount() {
this.timerID = setInterval(
() => this.tick(),
1000
);
}
componentWillUnmount() {
clearInterval(this.timerID);
}
tick() {
this.setState({
date: new Date()
});
}
render() {
return (
<div>
<h1>Hello, world!</h1>
<h2>It is {this.state.date.toLocaleTimeString()}.</h2>
</div>
);
}
}
ReactDOM.render(
<Clock />,
document.getElementById('root')
);
React Native 代码示例:
import React, { Component } from 'react';
import { Text, View } from 'react-native';
class WhyReactNativeIsSoGreat extends Component {
render() {
return (
<View>
<Text>
If you like React on the web, you'll like React Native.
</Text>
<Text>
You just use native components like 'View' and 'Text',
instead of web components like 'div' and 'span'.
</Text>
</View>
);
}
}
有关 React 的详细信息,请访问facebook的官方网站:
https://facebook.github.io/react
有关 React Native 的详细信息,请访问React native website:
答案 3 :(得分:44)
ReactJS是用于构建UI组件层次结构的框架。每个组件都有状态和道具。数据通过props从顶级组件流向低级组件。使用事件处理程序在顶级组件中更新状态。
React native使用React框架为移动应用程序构建组件。 React native为iOS和Android平台提供了一组基本组件。 React Native中的一些组件是Navigator,TabBar,Text,TextInput,View,ScrollView。这些组件在内部使用原生iOS UIKit和Android UI组件。 React native还允许NativeModules,其中用于iOS的ObjectiveC和用于Android的Java编写的代码可以在JavaScript中使用。
答案 4 :(得分:28)
虽然React.js是用于开发Web应用程序的父Javascript库。
在React-Native中频繁使用<View>
,<Text>
等标记时,React.js使用网页html标记,例如<div>
<h1>
{{1这只是网络/移动开发词典中的同义词。
对于React.js,您需要DOM用于html标记的路径呈现,而对于移动应用程序:React-Native使用AppRegistry注册您的应用。
我希望这是React.js和React-Native中快速差异/相似之处的简单解释。
答案 5 :(得分:16)
首先,相似之处:react&react-native(RN)均旨在允许开发人员创建灵活的用户界面。这些框架有很多好处,但是最根本的收获是它们是用于UI开发的。
反应:
Facebook(在做出反应后几年开发了RN)设计此框架的方式几乎就像在HTML / XML内编写JavaScript,这就是为什么标记称为“ JSX ”(JavaScript XML)的原因(例如熟悉的类似HTML的标记,例如<div>
或<p>
)。 React的标志是大写字母标签,它表示一个自定义组件,例如<MyFancyNavbar />
,对于RN也是如此。但是,它们的不同之处在于React使用the DOM。由于DOM存在于HTML中,因此React用于Web开发。
反应原生:
RN不使用HTML,因此不用于Web开发。它用于...几乎所有其他!移动开发(iOS和Android),智能设备(例如手表,电视),增强现实等。由于RN没有与之交互的DOM,因此它不使用React中使用的相同类型的HTML标签,而是使用自己的标签,然后将其编译成其他语言。例如,RN开发人员将使用RN内置的<div>
标签代替<View>
标签,该标签将编译为其他的本机代码(例如Android上的android.view
;以及{{ 1}}(在iOS上)。
简而言之:它们非常相似(用于UI开发),但用于不同的介质。
答案 6 :(得分:13)
我们无法精确比较它们。 用例存在差异。
(2018年更新)
主要是 :网站开发
react的扩展 ,位于移动开发上。
希望我对您有所帮助:)
答案 7 :(得分:12)
React是一个用于构建用户界面的声明性,高效且灵活的JavaScript库。您的组件告诉React您要呈现的内容 - 然后当数据发生更改时,React将有效地更新并呈现正确的组件。这里,ShoppingList是一个React组件类,或React组件类型。
React Native应用程序是一款真正的移动应用程序。使用React Native,您不需要构建“移动Web应用程序”,“HTML5应用程序”或“混合应用程序”。您构建了一个真正的移动应用程序,它与使用Objective-C或Java构建的应用程序无法区分。 React Native使用与常规iOS和Android应用程序相同的基本UI构建块。
答案 8 :(得分:10)
React Native 主要是用JavaScript开发的,这意味着您需要启动的大部分代码都可以跨平台共享。 React Native将使用本机组件进行渲染。 React Native应用程序是以它所针对的平台所需的语言开发的,用于iOS的Objective-C或Swift,用于Android的Java等等。编写的代码不是跨平台共享的,它们的行为也各不相同。他们可以直接访问平台提供的所有功能,没有任何限制。
React 是由Facebook开发的用于构建用户界面的开源JavaScript库。它用于处理网络和移动应用的视图层。 ReactJS用于创建可重用的UI组件。它目前是it领域中最受欢迎的JavaScript库之一,它具有强大的基础和大型社区。如果你学习了ReactJS,你需要具备JavaScript,HTML5和CSS的知识。
答案 9 :(得分:10)
ReactJS是一个核心框架,用于构建基于反应模式隔离的组件,您可以将其视为来自MVC的V,尽管我想声明反应确实带来了不同的感觉,特别是如果您不太熟悉与反应的概念。
ReactNative是另一个层,旨在为Android和iOS平台提供常见的集合组件。所以代码看起来与ReactJS基本相同,因为它是ReactJS,但它在移动平台中本机加载。您还可以根据操作系统将更复杂的平台相关API与Java / Objective-C / Swift联系起来,并在React中使用它。
答案 10 :(得分:8)
React 是 React Native 和 React DOM 的基本抽象,因此如果您要使用React Native,您还需要React ...与网络相同,但不是React Native,而是需要React DOM。
由于React是基本抽象,一般的语法和工作流是相同的,但是你要使用的组件是非常不同的,因此你需要学习这些与React内联的所谓的moto,即所谓的moto,即“随时随地学习” “因为如果你了解React(基础抽象),你可以简单地学习平台之间的差异,而无需学习另一种编程语言,语法和工作流程。
答案 11 :(得分:8)
React-Native是一个框架,其中ReactJS是一个可以用于您网站的JavaScript库。
React-native提供默认的核心组件(图像,文本),其中React提供了大量组件并使它们协同工作。
答案 12 :(得分:8)
React Js是一个Javascript库,您可以使用React开发和运行更快的Web应用程序。
React Native允许您仅使用JavaScript构建移动应用程序,它用于移动应用程序开发。更多信息https://facebook.github.io/react-native/docs/getting-started.html
答案 13 :(得分:7)
关于组件生命周期和所有其他花里胡哨,它大致是相同的。
差异主要是使用的JSX标记。 React使用类似于html的一个。另一个是react-native用来显示视图的标记。
答案 14 :(得分:7)
React Native适用于移动应用程序,而React适用于网站(前端)。两者都是Facebook发明的框架。 React Native是一个跨平台开发框架,意味着可以为IOS和Android编写几乎相同的代码,它可以工作。我个人对React Native了解得更多,所以我会留下它。
答案 15 :(得分:7)
简单来说,除了设计用户界面外,React和React本机遵循相同的设计原则。
无论如何,它是构建移动和网络用户界面的绝佳库。
答案 16 :(得分:4)
ReactJS 是 javascript库,用于构建Web界面。您需要一个像webpack这样的捆绑器,并尝试安装构建您的网站所需的模块。
React Native 是一个 javascript框架,它带有编写多平台应用程序(如iOS或Android)所需的一切。您需要安装xcode和android studio来构建和部署您的应用程序。
与ReactJS不同,React-Native不使用HTML,但可以使用ios和android来构建应用程序的类似组件。这些组件使用真正的本机组件来构建ios和Android应用程序。由于这种React-Native应用程序与其他混合开发平台不同,因此感觉真实。组件还可以提高代码的可重用性,因为您不需要在ios和android上再次创建相同的用户界面。
答案 17 :(得分:4)
REACT是用于构建Facebook等大/小界面Web应用程序的Javascript库。
REACT NATIVE是用于在Android,IOS和Windows Phone上开发本机移动应用程序的Javascript框架。
两者都是Facebook开源的。
答案 18 :(得分:4)
我知道已经有很多答案了,但是阅读完所有这些之后,我相信这些仍然是可以解释的空间。
反应
反应= Vaila JS + ES6 + HTML + CSS = JSX
因此,让我们首先讨论 react ,因为 react-native 也是基于 react 的,并且在那里使用了相同的JS概念。< / p>
React是一个 JS 库,用于制作美丽,灵活,高效能 单页Web应用程序,因此现在将出现一个问题在您看来,单页网络应用。
单页应用程序
单页应用程序是在浏览器中运行的应用程序,在使用过程中不需要重新加载页面。您每天都在使用这种类型的应用程序。例如,这些是: Gmail,Google Maps,Facebook或GitHub 。 SPA都是通过尝试模仿浏览器中的“自然”环境来提供出色的UX服务-没有页面重新加载,没有额外的等待时间。您访问的只是一个网页,然后使用JavaScript加载所有其他内容,而这些内容正是他们依赖的。 SPA独立请求标记和数据,并直接在浏览器中呈现页面。我们可以使用AngularJS,Ember.js,Meteor.js,Knockout.js,React.js,Vue.js等高级JavaScript框架来完成此任务。 单页网站有助于将用户保持在一个舒适的Web空间中,在该空间中,内容以简单,轻松和可行的方式呈现给用户。
工作方式
现在您知道什么是SPA,所以您就知道它是一个Web应用程序,因此它将使用HTML元素运行到浏览器中,还使用JS处理与这些元素相关的所有功能。 它使用 Virtual Dom 来呈现组件中的新更改。
本机
现在您对反应有了一些了解,所以让我们来谈谈反应本地
React-Native = React(Vaila JS + ES6 + JS与本机代码之间的桥梁)+本机(IOS,Android)
React-Native用于使用React制作漂亮的跨平台移动应用(Android,IOS)。
工作方式
在React-Native中有两个线程。
JS线程
本地线程
JS线程执行所有计算并将数据传递给本机,如何?
React使用异步桥将数据以JSON格式传递到本机线程,称为react-native
因此,我们使用Native组件在react-native中制作演示视图,并使用该桥在这两个不同的世界之间进行通信。
让我们谈谈这两个框架之间的共同点和区别。
|---------------------|------------------|---------------------|
| Feature | React | React-Native |
|---------------------|------------------|---------------------|
| Platform | Web | Android, IOS, JS |
|---------------------|------------------|---------------------|
| Open Source | Yes | Yes |
|---------------------|------------------|---------------------|
| Presentational View | HTML + CSS | Native Components |
|---------------------|------------------|---------------------|
| Arichtecure | Virtual Dom | Virtual Dom + Bridge|
|---------------------|------------------|---------------------|
| Animations | CSS Animations | Native Animations |
|---------------------|------------------|---------------------|
| Styling | CSS | JS Stylesheets |
|---------------------|------------------|---------------------|
| Developed By | Facebook | Facebook |
|---------------------|------------------|---------------------|
答案 19 :(得分:4)
React Js正在使用HTML Dom。 但是React native正在使用移动(iOS / android)本机ui组件进行操作。
答案 20 :(得分:3)
简单来说 ReactJS是父库,它根据主机环境(浏览器,移动设备,服务器,桌面等)返回要渲染的内容。 除了渲染外,它还提供其他方法,例如生命周期挂钩等。
在浏览器中,它使用另一个库react-dom来呈现DOM元素。 在移动设备中,它使用React-Native组件来呈现特定于平台的(IOS和Android)本地UI组件。 所以,
反应+ react-dom =网络发展
反应+反应本地=移动发展
答案 21 :(得分:3)
总结:React.js用于Web开发,而React-Native用于移动应用程序
答案 22 :(得分:3)
以下是我所知道的差异:
答案 23 :(得分:2)
答案 24 :(得分:2)
reactjs使用react-dom而不是浏览器dom,而react native使用虚拟dom,但是两者使用相同的语法,即如果可以使用reactjs,则可以使用react native。因为在reactjs中使用的大多数库都可用像您的react导航和它们具有的其他常见库一样,在react native中使用。
答案 25 :(得分:2)
一个简单的比较应该是
ReactJs
return(
<div>
<p>Hello World</p>
</div>
)
反应原生
return(
<View>
<Text>Hello World</Text>
</View>
)
React Native没有div
,p
,h1
等Html元素,而是具有对移动有意义的组件。
详情请访问https://reactnative.dev/docs/components-and-apis
答案 26 :(得分:2)
React Native 是一个 JavaScript框架,它包含编写多平台应用程序(例如iOS或Android)所需的一切。
ReactJS 是一个 JavaScript库,用于构建Web界面和构建您的网站。
答案 27 :(得分:2)
聚会晚了一点,但这是一个更全面的答案,并附有示例:
React是基于组件的UI库,它使用“影子DOM”来有效地更新已更改的DOM,而不是为每次更改都重建整个DOM树。它最初是为Web应用程序构建的,但现在也可以用于移动和3D / vr。
React和React Native之间的组件不能互换,因为React Native映射到本机移动UI元素,但是可以重新使用业务逻辑和与非渲染相关的代码。
最初包含在React库中,但是一旦React被用于除Web以外的其他平台,就被拆分了。它用作DOM的入口点,并与React结合使用。
示例:
import React from 'react';
import ReactDOM from 'react-dom';
class App extends Component {
state = {
data: [],
}
componentDidMount() {
const data = API.getData(); // fetch some data
this.setState({ data })
}
clearData = () => {
this.setState({
data: [],
});
}
render() {
return (
<div>
{this.state.data.map((data) => (
<p key={data.id}>{data.label}</p>
))}
<button onClick={this.clearData}>
Clear list
</button>
</div>
);
}
}
ReactDOM.render(App, document.getElementById('app'));
React Native是一个跨平台的移动框架,它使用React并通过“桥”在Javascript与它的本机副本之间进行通信。因此,使用React Native时许多UI结构必须有所不同。例如:构建列表时,如果尝试使用map
而不是React Native的FlatList
来构建列表,则会遇到主要的性能问题。 React Native可用于构建IOS / Android移动应用程序以及智能手表和电视。
Expo是启动新的React Native应用程序时的首选。
Expo是通用React应用程序的框架和平台。它是围绕React Native和本机平台构建的一组工具和服务,可帮助您在iOS,Android和Web应用程序上开发,构建,部署和快速迭代
注意:使用Expo时,您只能使用它们提供的Native Api。您包括的所有其他库都必须是纯JavaScript或退出EXPO。
使用React Native的相同示例:
import React, { Component } from 'react';
import { Flatlist, View, Text, StyleSheet } from 'react-native';
export default class App extends Component {
state = {
data: [],
}
componentDidMount() {
const data = API.getData(); // fetch some data
this.setState({ data })
}
clearData = () => {
this.setState({
data: [],
});
}
render() {
return (
<View style={styles.container}>
<FlatList
data={this.state.data}
renderItem={({ item }) => <Text key={item.id}>{item.label}</Text>}
/>
<Button title="Clear list" onPress={this.clearData}></Button>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
},
});
onClick
变成onPress
,React Native使用样式表以更高性能的方式定义样式,React Native使用flexbox作为默认布局结构来保持响应。 / li>
值得一提的是,React也可以用于开发3D / VR应用程序。组件结构与React Native非常相似。 https://facebook.github.io/react-360/
答案 28 :(得分:1)
反应原生(homepage)是一个JavaScript框架,用于开发可在Android和iOS上同时运行的移动应用程序。它基于Facebook开发的ReactJS,这是用于开发Web用户界面(UI)的基于组件的声明式框架。 语法
return(
<View>
<Text>Hello World</Text>
</View>
)
反应是一个JavaScript库,用于构建用于Web开发的用户界面。它还允许我们创建可重用的UI组件。您可以在React JS中重用代码组件,从而节省大量时间。
语法
return(
<div>
<p>Hello World</p>
</div>
)
答案 29 :(得分:1)
React-Native是一个跨平台,使用reactjs来为所有平台(例如iOS,Android,Web,Windows,Mac,Linux)使用相同的代码构建应用。
实现上的区别是使用HTML标记的reactjs,但使用react-native特定组件的react-native。
答案 30 :(得分:1)
React本质上是Facebook拥有并开发的。它实际上是在2013年问世的。React是一个JS库,而不是一个框架。关于React的最值得注意的一点是它能够创建前端和后端。
React NATIVE仅仅是一个移动开发平台。在使用React Native之前,您需要了解Android的Java或iPhone和iPad的Objective-C才能创建本机React应用。简而言之,React是Webdev技术和React-Native是一种mobildev技术。
答案 31 :(得分:1)
反应用于在浏览器中工作的Web应用程序。 React Native 用于可在移动应用程序中运行的android和IOS应用程序。
答案 32 :(得分:1)
React是用于构建用户界面的JavaScript库。它用于重用UI组件。 React Native是一个JavaScript框架,用于为iOS和Android编写真实的,本地渲染的移动应用程序。 两者都是由facebook开发的,它们共享相同的生命周期方法。
答案 33 :(得分:1)
ReactJS
反应原生
答案 34 :(得分:1)
这是一个很好的解释:
Reactjs 是一个同时支持前端和服务器的JavaScript库。此外,它还可用于为移动应用和网站创建用户界面。
React Native 是一个跨平台的移动框架,该框架使用Reactjs来构建应用程序和网站。通过将React Native编译为本机应用程序组件,程序员可以构建可在不同平台上运行的移动应用程序,例如Windows,Android和JavaScript中的iOS。
对于Web平台,Reactjs可以描述为React DOM的基本派生,而React Native本身就是基本派生,这意味着语法和工作流程相同,但是组件有所不同。
Reactjs最终是一个JavaScript库,它使程序员能够创建引人入胜的高性能UI层,而React Native是用于构建跨平台应用程序(Web,iOS或Android)的完整框架。
在Reactjs中,虚拟DOM用于在Reactjs中呈现浏览器代码,而在React Native中,原生API用于在移动设备中呈现组件。
使用Reactjs开发的应用程序可在UI中呈现HTML,而React Native使用JSX呈现UI则不过是JavaScript。
CSS用于在Reactjs中创建样式,而样式表用于React Native中的样式。
在Reactjs中,可以使用CSS进行动画处理,就像在React Native中进行Web开发一样,动画API用于在React Native应用程序的不同组件之间诱发动画。
如果需要为Web界面构建高性能,动态和响应式UI,那么Reactjs是最佳选择,而如果需要给移动应用程序以真正的本机感觉,那么React Native是最佳选择。
答案 35 :(得分:1)
React Native只是React的产物,它可以使用JavaScript构建本机应用程序。通过使用与React相同的设计,它允许从声明性组件构建丰富的移动UI。它使用JavaScript和XML风格的标记(称为JSX)来开发移动应用程序界面。
使用React Native,可以为Android和iOS构建本地移动应用程序(类似于使用Java,Objective-C或Swift构建的移动应用程序)。使用此React框架,可以使用Javascript模仿本地应用程序的行为,并获取平台特定的代码作为输出。 React Native在移动应用程序开发中的一些显着优势包括:
用于多个平台的单一环境:React Native促进了跨平台本机应用程序的开发,即为一个平台编写的代码可以在另一平台上使用。在不影响外观的前提下,React Native使企业能够构建具有成本效益的移动应用程序,并使开发人员能够减轻创建新逻辑的负担,并为两个不同平台集成了不同的API。
使用本机代码组合React组件:开发人员可以通过将Objective-C,Java或Swift的组件与React本机代码相结合来优化应用程序的效率。在React Native中构建一部分应用程序组件,然后使用本机代码构建其中的一部分,然后将它们合并在一起很容易。
答案 36 :(得分:0)
React是用于使用JavaScript构建应用程序的框架。 React Native是一个完整的平台,允许您构建本机,跨平台的移动应用程序,而React.js是一个JavaScript库,用于构建高性能的UI层。 React.js是React Native的心脏,并且体现了所有React的原理和语法,因此学习起来很容易。该平台是引起他们技术差异的原因。就像React中的浏览器代码通过虚拟DOM呈现一样,而React Native使用Native API在移动设备上呈现组件。 React使用HTML,并且使用React Native,您需要熟悉React Native语法。 React Native也不使用CSS。这意味着您必须使用React Native随附的动画API来对应用程序的不同组件进行动画处理。
最重要的是,React是为您的Web界面构建动态,高性能,响应式UI的理想选择,而React Native则旨在为您的移动应用程序带来真正的本机感觉。
Reff:what-is-the-difference-between-react-js-and-react-native
答案 37 :(得分:0)
在Reactjs中,虚拟DOM用于在Reactjs中呈现浏览器代码,而在React Native中,本机API用于在移动设备中呈现组件。
使用Reactjs开发的应用程序可在UI中呈现HTML,而React Native使用JSX呈现UI则只是JavaScript。
答案 38 :(得分:0)
答案 39 :(得分:0)
React Native 是一个使用 React 构建 android 和 ios 应用程序的框架。 React 是一个用于构建出色网站的网络框架。
答案 40 :(得分:0)
区别很简单。
<块引用>我们使用 React 开发网络应用,使用 React Native 开发移动应用。
React 更侧重于改进 UI(用户界面),而 RN 为所有操作系统共享一个公共逻辑层。这为我们已经处理了很长时间的问题提供了解决方案,例如开发效率低下、部署时间变慢和开发人员生产力低下。
需要注意的是,React 是一个用于 Web 开发的库,而 React Native 是一个平台。
另一个有趣的事情是,当您想使用 RN 时,您拥有启动项目所需的一切。另一方面,使用 React 创建新项目意味着您只选择了构建 Web 应用程序必须使用的众多库中的一个。
您可以在该文章中找到更多有用的信息: https://pagepro.co/blog/react-native-faq-all-you-need-to-know
答案 41 :(得分:0)
React 和 React-native 之间的主要区别在于 React 带有基于 Web 的 UI 组件,而 React Native 带有与 Mobile 相关的 UI 小部件,其余几乎都相似。
答案 42 :(得分:0)
这是用于OS和android的应用程序开发的混合工具。您不必编写两次代码。 它使用本机组件以及react。 它还为您提供对服务器(firebase)的访问。 要获得更多帮助,请点击以下链接: https://reactnative.dev/ https://nativebase.io/
答案 43 :(得分:0)
Simple React Js适用于Web React Native适用于跨平台移动应用!
答案 44 :(得分:0)
React.js通常被称为React或ReactJS是一个JavaScript库,负责构建UI组件的层次结构,或者换句话说,负责UI组件的呈现。它同时支持前端和服务器端。
React Native是使用JavaScript构建本机应用程序的框架。 React Native会编译为本地应用程序组件,这使您可以构建本地移动应用程序。在React JS中,React是Web平台的React DOM的基础抽象,而对于React Native,React仍然是React Native的基础抽象。因此,语法和工作流程保持相似,但组件不同。
答案 45 :(得分:0)
一些区别如下:
1- React-Native是用于创建Mobile Apps的框架,其中ReactJS是可用于您的网站的JavaScript库。
2-当React使用时,React-Native不使用HTML呈现应用。
3- React-Native仅用于开发Mobile App,而React用于网站和Mobile。
答案 46 :(得分:0)
React Native is an entire platform allowing you to build native, cross-platform mobile apps, and React.js is a JavaScript library you use for constructing a high performing UI layer. ... Like the browser code in React is rendered through Virtual DOM while React Native uses Native API's to render components on mobile.
答案 47 :(得分:0)
为回应上面@poshest的评论,这是先前在React中发布的Clock代码的React Native版本(对不起,我无法直接在此部分发表评论,否则我会添加代码那里):
反应本地代码示例
import { AppRegistry } from 'react-native';
import React, { Component } from 'react';
import { View, Text, StyleSheet } from 'react-native';
class Clock extends Component {
constructor(props) {
super(props);
this.state = { date: new Date() };
}
componentDidMount() {
this.timerID = setInterval(
() => this.tick(),
1000
);
}
componentWillUnmount() {
clearInterval(this.timerID);
}
tick() {
this.setState({
date: new Date()
});
}
render() {
return (
<View style={styles.container}>
<Text style={styles.sectionTitle}>Hello, world!</Text>
<Text style={styles.sectionDescription}>It is {this.state.date.toLocaleTimeString()}.</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
backgroundColor: 'white',
flex: 1,
justifyContent: 'center',
},
sectionTitle: {
fontSize: 24,
fontWeight: '600',
color: 'black',
alignSelf: 'center',
},
sectionDescription: {
marginTop: 8,
fontSize: 18,
fontWeight: '400',
color: 'darkgrey',
alignSelf: 'center',
},
});
AppRegistry.registerComponent("clock", () => Clock);
请注意,样式完全是我的选择,并不试图直接复制React代码中使用的<h1>
和<h2>
标签。
答案 48 :(得分:0)
反应原生
这是一个使用JavaScript构建本机应用程序的框架。
它可以编译为本机应用程序组件,这使您成为可能 来构建本机移动应用程序。
反应js
它同时支持前端Web和在服务器上运行,用于 构建用户界面和Web应用程序。
它还允许我们创建可重复使用的UI组件。
您可以在React JS中重用代码组件,从而节省大量时间。
答案 49 :(得分:0)
React Js -React JS是前端javascript库,它是大型库而不是框架
ReactNative -React Native是一个开源的移动应用程序框架。
答案 50 :(得分:0)
反应是使用JavaScript构建应用程序的框架。 React Native 是一个完整的平台,允许您构建本机,跨平台的移动应用程序,而 React.js 是一个JavaScript库,用于构建高性能的UI层。 React.js 是React Native的心脏,它体现了React的所有原理和语法,因此学习起来很容易。
该平台引起了他们的技术差异。就像 React 中的浏览器代码是通过虚拟DOM呈现的,而 React Native 使用本地API在移动设备上呈现组件一样。 React 使用HTML,并且使用 React Native ,您需要熟悉React Native语法。 React Native 也不使用CSS。这意味着您必须使用React Native随附的动画API为应用程序的不同组件制作动画。
最重要的是,反应是为您的Web界面构建动态,高性能,响应式UI的理想选择,而 React Native 旨在为您的移动应用提供真正的本机感觉。
答案 51 :(得分:-1)
让我们简短明了。
React 用于 Web 开发,React Native 用于应用程序开发。 差不多就是这样。瞧,简单的力量!