我见过两种访问方式Component
:
import React from 'react';
class Foo extends React.Component {
...
}
and
import React, { Component } from 'react';
class Foo extends Component {
...
}
两者之间有什么区别(例如性能方面)吗?
简短的回答:不。
从另一个角度看可能会更容易理解。
如果你想象一下反应模块本身 - 它可能看起来像这样。
export const Component = () => {}; // the component class/function
const React = { Component: Component }; // the main react object
export default React;
注意使用export
.
The default export
是 React,所以它在另一个模块中被访问(或导入),如下所示:
import React from 'react';
组件是一个命名导出:Component
,因此可以通过以下方式在另一个模块中访问:
import { Component } from 'react';
但在这种情况下,Component 也附加到 React 对象。因此,您可以通过以下任一方式使用导入:
import React, { Component } from 'react';
class MyComp extends React.Component {}
class MyOtherComp extends Component {}
其他几点值得一提:
- 只能有一个default每个模块导出,但您可以导出许多变量。
- The default导入时导出可以命名为任何名称。例如
import Cat from 'react';
.
- 您可以通过执行以下操作来重命名命名导入:
import { Component as Cat } from 'react';
- 此行为并非 React 特有,而是 ES6 模块系统的一部分。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)