使用大括號我可以看到有兩種不同的方式導入什麼是ES6 import語句
import React from 'react'
import { render } from 'react-dom'
第二個有支架。那麼兩者有什麼區別?何時添加括號?謝謝
使用大括號我可以看到有兩種不同的方式導入什麼是ES6 import語句
import React from 'react'
import { render } from 'react-dom'
第二個有支架。那麼兩者有什麼區別?何時添加括號?謝謝
那麼你是否應該導入你的組件within brackets or without it
的區別在於你的方式你export
它。
有兩種類型的出口
一個組件可以one default export and zero or more named
出口
如果一個組件是一個默認的出口,那麼你需要導入它沒有括號 例如
export default App;
進口它作爲
import App from './path/to/App';
命名的出口也能像
export const A = 25;
或
export {MyComponent};
的,你可以導入爲
import {A} from './path/to/A';
或
import {A as SomeName} from './path/to/A';
如果您的組件有一個默認的導出和幾個名爲export,你甚至可以混合在一起他們,而在react
和react-dom
,React
和案例導入
import App, {A as SomeName} from './path/to/file';
同樣ReactDOM
分別是default exports
,而例如Component
是中的和render
是react-dom
中的命名導出。這就是原因,你可以做
import ReactDOM from 'react-dom';
然後用
ReactDOM.render()
或者用它喜歡在你的問題中提到。
這個答案似乎非常明確...... * *一個**默認導出**加**多個命名導出(允許每個腳本文件)...然後導入默認導出:無大括號,導入命名導出:必須使用大括號。是官方參考之一https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export? (ES6標準的一部分) –
如果您導出爲默認值,則無需添加括號。您只能在模塊中使用默認值。
情形1:
出口缺省功能(NUM1,NUM2){ 返回NUM1 + NUM2; }
情形2:
函數sum(NUM1,NUM2){ 返回NUM1 + NUM2; }
export {sum as default};
情形3:
函數sum(NUM1,NUM2){ 返回NUM1 + NUM2; }
export default sum;
你可以從 「./test.js」 導入默認
進口總和;
console.log(sum(1,2));
考慮,
export default (a, b) => a + b;
export const sub = (a, b) => a - b;
export const sqr = a => a**2;
它可以導入像這樣,
import sum, { sub, sqr } from './primitives';
在這種情況下,sum
被稱爲 「默認導出」 和模塊可以包含一個單一的「默認導出「。
sub
和sqr
被稱爲「命名導出」,並且一個模塊可能包含多個命名導出。
建議閱讀http://www.2ality.com/2014/09/es6-modules-final.html沒有必要問這個問題SO –
簡要回答:這是es6解構正在發揮作用。 'var React'將被分配給從''react''導出的所有東西,並且'var render'將被分配給'react-dom''輸出的任何'render'屬性。 – therobinkim
[When should我使用大括號ES6導入?](http://stackoverflow.com/questions/36795819/when-should-i-use-curly-braces-for-es6-import) – jpdelatorre