【问题标题】:extending React.Component vs Component扩展 React.Component vs Component
【发布时间】:2017-07-11 09:56:39
【问题描述】:

我刚刚参加了一个关于 React Native 的项目,在那里我经常看到类扩展了 React.ComponentComponent 本身。

例子:

class SomeView extends React.Component

class OtherView extends Component

在这两个中我们都导入了React, {Component} from React

是否有任何实际区别,如果有,是哪一个?在网上没有找到任何信息。干杯!

【问题讨论】:

  • 当您执行import { Component } from 'react' 时,您正在导入React.Component。这意味着如果你在文件的开头写import React, { Component } from 'react'React.Component 指的是与Component 完全相同的类,使你提到的两种语法都有效。
  • @TadeášPeták 这正是我的想法,只是需要一些确认。谢谢! :)
  • 其实是有区别的。您可能有多个导出组件的包。因此,从 React.Component 扩展可以清楚明确地使用哪个组件。

标签: reactjs react-native


【解决方案1】:

你可以做任何你想做的事。

执行import { Component } from 'react' 实际上与React.Component 相同。

import { Component } from 'react' 语法称为Named Import

import 语句用于导入由另一个模块导出的绑定。

import defaultExport from "module-name";
import * as name from "module-name";
import { export } from "module-name";
import { export as alias } from "module-name";
import { export1 , export2 } from "module-name";
import { export1 , export2 as alias2 , [...] } from "module-name";
import defaultExport, { export [ , [...] ] } from "module-name";
import defaultExport, * as name from "module-name";
import "module-name";

【讨论】:

  • import { Component } from 'react' 没有解构。这是一个命名的导入。
【解决方案2】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-18
  • 2019-09-12
  • 2017-04-03
  • 2019-08-03
  • 1970-01-01
相关资源
最近更新 更多