7
import {Component, ...actions} from '../MyModule';
似乎是拋出linting錯誤。是否有一個原因讓你無法在ES6導入聲明中「傳播」?Destructure傳播進口ES6
import {Component, ...actions} from '../MyModule';
似乎是拋出linting錯誤。是否有一個原因讓你無法在ES6導入聲明中「傳播」?Destructure傳播進口ES6
ES6導入語法不解構,就像那樣簡單。語法以{
開頭,但其格式完全不同,並且在實現中處理的方式完全不同。例如,您可以用
import {Component as MyComponent} from './MyModule';
重命名進口,這顯然不是對象字面量。
如果你需要一個對象,你可以用它來引用進口的屬性,你可以做
import * as MyModule from '../MyModule';
然後使用MyModule.<exportName>
。如果您的目標是專門獲取包含所有導出值的對象,但不包括Component
,那麼您總是可以在解除綁定之後進行解構。
const {Component, ...actions} = MyModule;
你認爲解構要做什麼?給你所有其他出口減去'組件'? – nils
查看規範:http://www.ecma-international.org/ecma-262/6.0/#sec-imports _NamedImports_的符號可能看起來像對象符號,但它有些不同(這就是爲什麼沒有解構)。如果_MyModule_導出一個對象,你可以在一個賦值中進行解構。 – Matthisk
主要是因爲傳播運營商不是ES6的一部分,而是針對未來版本的提案。 – Bergi