React native与React有什么区别?

我已经开始学习好奇的反应,想知道这一点。 在Google中找不到满意的答案。 React和React native似乎有相同的格式。 他们有完全不同的语法吗?

ReactJS是一个JavaScript库,支持前端Web和在服务器上运行,用于构build用户界面和Web应用程序。

React Native是一个移动框架,可编译为本地应用程序组件,允许您使用JavaScript构build原生移动应用程序(iOS,Android和Windows),使您可以使用ReactJS构build组件,并在后台实现ReactJS。

两者都是由Facebook开源的。

正如你所说,谷歌无法向你解释这一点,但如果他们发明了React,谷歌会如此高兴。

这是React项目( https://github.com/facebook/react )。

在Facebook上,他们发明了React,因此JavaScript可以使用虚拟DOM模型更快地操作网站DOM。

与仅刷新页面各部分的React虚拟DOM模型 (读取:部分刷新)相比,DOM全面刷新速度较慢。

正如你可以从Facebook的这个video中了解到的,他们发明了React并不是因为他们立即理解了局部刷新将比传统刷新更快。 最初,他们需要一种方法来减lessFacebook应用程序的重新构build时间,幸运的是这使部分DOM刷新生活。

React原生https://github.com/facebook/react-native )只是React的一个后果。 这是一个使用JavaScript构build本地应用程序的平台。

React native之前,您需要了解Android的Java或iPhone和iPad的Objective-C以创build本机应用程序。

通过使用React Native,可以在JavaScript中模拟原生应用程序的行为,最终,您将获得平台特定的代码作为输出。 如果您需要进一步优化您的应用程序,您甚至可以将本机代码与JavaScript混合使用。

正如Olivia Bishop在video中所说的,85%的React本地代码库可以在不同的平台之间共享。 这些将是应用程序通常使用的组件和通用逻辑。

15%的代码是平台特定的。 特定于平台的JavaScript是赋予平台风味(并使体验有所不同)的原因。

很酷的是这个平台特定的代码 – 已经写好了,所以你只需要使用它。

ReactJS是构buildUI组件层次结构的框架。 每个组件都有状态和道具。 数据通过道具从顶级组件stream向低级组件。 使用事件处理程序在顶层组件中更新状态。

React本地使用React框架为移动应用程序构build组件。 React native为iOS和Android平台提供了一组基本组件。 React Native中的一些组件是Navigator,TabBar,Text,TextInput,View,ScrollView。 这些组件在内部使用本机iOS UIKit和Android UI组件。 React native还允许在JavaScript中使用NativeModules,在ObjectiveC for iOS和Java for Android中编写代码。

  1. React-Native是一个开发Android和iOS应用程序的框架,共享80%-90%的Javascript代码。

React.js是用于开发Web应用程序的父级JavaScript库。

  1. 虽然在React-Native中非常频繁地使用<View><Text>等标签,但React.js使用web html标签,如<div> <h1> <h2> ,这些标签只是web / mobile开发字典中的同义词。

  2. 对于React.js,您需要使用DOM来进行html标记的path呈现,而对于移动应用程序:React-Native使用AppRegistry来注册您的应用程序。

我希望这是对React.js和React-Native之间的快速差异/相似性的简单解释。

ReactJS是一个核心框架,意思是构build基于被动模式的组件隔离,你可以把它想象成MVC的V,虽然我想说明一下,反应会带来不同的感觉,特别是如果你不太熟悉被动概念。

ReactNative是另一层,意味着有一个Android和iOS平台的常用组件。 所以代码看起来和ReactJS基本相同,因为是ReactJS,但是它在移动平台上本地加载。 您还可以使用Java / Objective-C / Swift根据操作系统将更复杂和平台相关的API连接起来,并在React中使用它。

React Native主要是使用JavaScript开发的,这意味着您需要开始使用的大部分代码可以跨平台共享。 React Native将使用本机组件进行渲染。 React Native应用程序是以它所针对的平台所需的语言,适用于iOS的Objective-C或Swift,适用于Android的Java等开发的。所编写的代码不是跨平台共享的,其行为也不尽相同。 他们可以直接访问平台提供的所有function,而不受任何限制。

React是由Facebook开发的用于构build用户界面的开源JavaScript库。 它用于处理Web和移动应用程序的视图层。 ReactJS用于创build可重用的UI组件。它目前是该领域最受欢迎的JavaScript库之一,它拥有强大的基础和广泛的社区背景。如果您学习了ReactJS,则需要了解JavaScript,HTML5和CSS。

React是一个用于构build用户界面的声明性,高效和灵活的JavaScript库。您的组件告诉React您要渲染的内容 – 然后React将有效地更新并在数据更改时渲染正确的组件。 在这里,ShoppingList是一个React组件类,或React组件types。

React Native应用程序是一个真正的移动应用程序。 使用React Native,您不会构build“移动networking应用程序”,“HTML5应用程序”或“混合应用程序”。 您可以构build一个真正的移动应用程序,与使用Objective-C或Java构build的应用程序无法区分。 React Native使用与常规iOS和Android应用程序相同的基本UI构build块。

更多信息

阵营:

React是一个用于构build用户界面的声明式,高效且灵活的JavaScript库。

反应原生:

React Native允许您仅使用JavaScript构build移动应用程序。 它使用与React相同的devise,让您从声明性组件构build丰富的移动UI。
使用React Native,您不会构build“移动networking应用程序”,“HTML5应用程序”或“混合应用程序”。 您可以构build一个真正的移动应用程序,与使用Objective-C或Java构build的应用程序无法区分。 React Native使用与常规iOS和Android应用程序相同的基本UI构build块。 您只需使用JavaScript和React将这些构build块组合在一起即可。
React Native可让您更快地构build应用程序。 而不是重新编译,你可以立即重新加载你的应用程序。 随着热重新加载,你甚至可以运行新的代码,同时保持你的应用程序状态。 试一试 – 这是一个神奇的经验。
React Native与用Objective-C,Java或Swift编写的组件平滑地结合在一起。 如果您需要优化应用程序的某些方面,则可以简单地将其下拉为本地代码。 在React Native中构build应用程序的一部分并直接使用本机代码也很容易 – 这就是Facebook应用程序的工作原理。

所以基本上React是UI库的视图,您的Web应用程序,使用JavaScript和JSX, React本机是在React的顶部额外的库,使iOSAndroid设备的本机应用程序。

反应代码示例:

 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原生代码示例:

 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本地网站:

https://facebook.github.io/react-native/

React-Native是一个框架,ReactJS是一个JavaScript库,可以用于您的网站。

React-native提供默认的核心组件(图像,文本),其中React提供了一系列组件并使它们一起工作。

React是React Native和React DOM的基本抽象,所以如果你要使用React Native,你也需要React …与web相同,而不是React Native,你需要React DOM。

由于React是基本的抽象,一般的语法和工作stream程是相同的,但是你使用的组件是非常不同的,所以你需要学习这些与React所谓的moto内联的差别,这就是“Learn Once write anywhere”,因为如果你知道React(基本抽象),你可以简单地学习平台之间的差异,而无需学习另一种编程语言,语法和工作stream程。

React Js是一个Javascript库,您可以使用React开发和运行更快的Web应用程序。

React Native允许您仅使用JavaScript构build移动应用程序,它用于移动应用程序开发。 更多信息在这里https://facebook.github.io/react-native/docs/getting-started.html

解释很简单,React和React native除了在devise用户界面的情况下遵循相同的devise原则。

  1. React native有一套独立的标签用于定义移动用户界面,但反应使用html-css来定义界面
  2. 两个系统的主要用意是重新使用用户界面
  3. 两者都遵循基于组件的架构

无论如何,这是一个很好的框架,build立手机和networking用户界面

在组件生命周期和所有其他花里胡哨大多是相同的。

主要区别在于使用的JSX标记。 React使用一个类似html的东西。 另一个是react-native用来显示视图的标记。

React Native适用于移动应用程序,而React适用于网站(前端)。 这两个都是Facebook发明的框架。 React Native是一个跨平台的开发框架,意思是可以为IOS和Android编写几乎相同的代码,并且可以工作。 我个人对React Native了解得更多,所以我会把它留在这里。

ReactJS适用于Web,而React Native适用于Mobile。 不要过于复杂的事情。