React.Component和react-native里的Component有什么区别

我看官方导入Component的写法是

import React,{Component} from 'react';

但是也看到有人是这么写的

import React, {
 Component,
} from 'react-native';

React和Component怎么是从react-native导入的?我测试了下,在创建组件的时候的前一种写法是正确的,后面这种写法则会报错,哪后面这种写法到底有什么用?

阅读 4.1k
2 个回答

React Native 旧版本 (0.25以前),是把 React 修改版代码放在 React Native 包里面的。

React 在几个月以前分割成 ReactReactDOM 两个包,React 专注于提供 Virtual DOM 机制,ReactDOM 提供 DOM 实现。这种分离与 React Native 出现有关。所以 React Native 0.25 (也可能更早就开始了)开始,改为依赖 React,而不是复制一份代码。从此以后 React Native 和 ReactDOM 是两个平台的实现,而 React 提供公共机制。

所以从 React Native 0.25 开始,需要从 React 中导入 Component, PropTypes, createElement,从 0.26 开始对于没有修改的代码不再警告,直接就会出错。

所以现在应该只有 React 的 Component.

你犯了一个错,把reactreact-native搞混了。这两种写法都是对的,但要在不同的框架下面。

react真对web开发

react-native真对移动端原生应用开发(androidios)

他们的语法体系(或者就说框架吧),提供的是统一的语法(我们就管它叫react吧)

所以这里你的问题是,当说语法(形式感)的时候,react的是个大概念,包括了web和native不同平台的语法风格。当说平台支持的具体框架时,react就是for webreact-native就是for native

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题