首先,非常感谢所有其他答案。
这是对以上所有内容的总结,在一个答案中。
示例背景
import React from 'react'; // Importing without braces
import { render } from 'react-dom'; // Importing with braces
要了解import,首先要了解export及其类型。
出口类型
主要有两种类型的导出,'default'和'named'。是否使用大括号,完全取决于导入的是哪种类型的导出变量。
所以,简短的回答是默认导出的变量,不需要需要大括号,但命名变量需要用大括号导入。
现在,让我们看一些如何导入和导出这两种类型的实际示例。
默认:如何导出和导入
// Module1.js
export default App;
// Module2.js
export default myVariable;
// Module3.js
export default myFunction;
// Please note that there can only be one default export per module!
import App from './Module1'
import AppRenamed from './Module1'
import myVariable from, './Module2'
import myFunction from './Module3'
// Please note that default modules can be renamed when importing
// ... and they will still work!
命名:如何导出和导入
export const A = 42
export const myA = 43
export const Something = 44
export { cube, foo, graph };
// Note how there can be several named exports per module
// exported in groups or individually
import { A, myA } from './my-module.js';
import { Something as aRenamedVar } from './my-module.js';
import { cube } from './my-module.js';
import { foo, graph } from './my-module.js';
// Likewise, named exports can be imported in groups or individually
其他说明
import React from 'react'
import { render } from 'react-dom'
- 请注意,虽然
React 不使用大括号,而render 使用大括号,但render 实际上是react-dom 的一部分。
- 因此也可以导入整个默认
react-dom
没有大括号,然后使用render
import React from 'react'
import ReactDOM from 'react-dom'
ReactDOM.render()