Import React
对比 Import React, { Component }
哪个更好,为什么?
或者除了以后编写更少的代码之外没有任何区别?
写入是否{ Component }
意味着它只导入 Component 对象?
Import React
对比 Import React, { Component }
哪个更好,为什么?
或者除了以后编写更少的代码之外没有任何区别?
写入是否{ Component }
意味着它只导入 Component 对象?
import React, { Component }
让你做class Menu extends Component
而不是class Menu extends React.Component
. 它减少了 React 命名空间的输入和重复,这通常是一种理想的现代编码约定。
此外,像 Webpack 2 和 Rollup 这样的工具会进行“摇树”,这意味着任何未使用的导出都不会捆绑到您的最终代码中。使用import React
/React.Component
你保证所有 React 的源代码都将被捆绑。使用import { Component }
,一些工具只会捆绑使用Component
该类所需的代码,不包括 React 的其余部分。
上一段在这种特定情况下是无关紧要的,因为你总是需要在当前命名空间中有 React 来编写 JSX,但在其他情况下只导入你需要的确切module可能最终会导致更小的捆绑代码。
除此之外,这完全是个人喜好。
这些是命名导入或命名空间导入。他们所做的基本上是将module的内容复制到命名空间中,允许:
import React, { Component } from 'react';
class SomeComponent extends Component { ... }
通常,我们会扩展React.Component
,但是由于 Component module已导入到命名空间中,因此我们只需使用Component
,React.
来引用它,就不需要了。所有 React module都被导入,但大括号内的module是以这样一种方式导入的,即React
访问时不需要命名空间前缀。
TLDR;
这完全是个人喜好。
只是一个注释…
import React, { Component }
让你做class Menu extends Component
而不是class Menu extends React.Component
. 打字少了……
如果你想少打字,那么除了 React 之外不要导入 Component。
import React, { Component } from 'react';
class Menu from Component {
是更多的打字比:
import React form 'react';
class Menu from React.Component {
即使您考虑自动完成。;)