我已经开始学习React出于好奇,想知道React和React Native之间的区别-虽然不能找到一个满意的答案使用谷歌。React和React Native似乎有相同的格式。它们的语法完全不同吗?


当前回答

为了回应上面@poshest的评论,这里有一个React Native版本的时钟代码,之前在React中发布(抱歉,我无法直接评论这部分,否则我会在那里添加代码):

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>标记。

其他回答

ReactJS是一个JavaScript库,支持前端web和在服务器上运行,用于构建用户界面和web应用程序。它遵循可重用组件的概念。

React Native是一个移动框架,它利用了主机上可用的JavaScript引擎,允许你在JavaScript中为不同的平台(iOS, Android和Windows mobile)构建移动应用程序,允许你使用React js构建可重用的组件,并与本地组件通信

两者都遵循JavaScript的JSX语法扩展。它编译为React。createElement在底层调用。JSX深入

两者都是由Facebook开源的。

区别很简单。

我们使用React开发web应用程序,使用React Native开发移动应用程序。

React更专注于改进UI(用户界面),而RN则为所有操作系统共享一个公共逻辑层。这为现在已经处理了很长一段时间的问题提供了解决方案,例如开发效率低、部署时间较慢和开发人员生产力较低。

需要注意的是,React是一个用于web开发的库,而React Native是一个平台。

另一件有趣的事情是,当您想要使用RN时,您拥有启动项目所需的一切。另一方面,用React创建一个新项目意味着你只选择了构建web应用程序所需的众多库中的一个。

你可以在那篇文章中找到更多有用的信息: https://pagepro.co/blog/react-native-faq-all-you-need-to-know

React Js是一个前端javascript库,它是一个很大的库,而不是一个框架

它遵循有助于构建的基于组件的方法 可重用的UI组件 它用于开发复杂的交互式web和移动UI 尽管它在2015年才开源,但它拥有最大的社区之一支持它。

ReactNative是一个开源的移动应用程序框架。

React Native是一个JavaScript框架,它提供了编写多平台应用程序(如iOS或Android)所需的一切。

ReactJS是一个JavaScript库,用于构建web界面和构建您的网站。

简单来说 ReactJS是父库,它返回一些东西来渲染每个主机环境(浏览器,移动,服务器,桌面等)。 除了渲染,它还提供了其他方法,如生命周期钩子..等。

在浏览器中,它使用另一个库react-dom来呈现DOM元素。 在移动端,它使用React-Native组件来呈现特定平台(IOS和Android)的本地UI组件。 所以,

React + React -dom = web开发

React + React -native =移动开发