Destructure扩展导入ES6

maj*_*mer 10 javascript module ecmascript-6 ecmascript-next

import {Component, ...actions} from '../MyModule';
Run Code Online (Sandbox Code Playgroud)

似乎是在抛出一个linting错误.您是否有理由不能在ES6导入声明中"传播"?

log*_*yth 19

ES6导入语法不是解构,就这么简单.语法以{,但它的格式完全不同,并且在实现中处理它的方式是完全不同的.例如,您可以使用重命名导入

 import {Component as MyComponent} from './MyModule';
Run Code Online (Sandbox Code Playgroud)

这显然不是一个对象文字.

如果您需要一个可用于引用导入作为属性的对象,则可以这样做

 import * as MyModule from '../MyModule';
Run Code Online (Sandbox Code Playgroud)

然后用MyModule.<exportName>.如果你的目标是明确获取包含所有的出口值的对象,但不包括Component,那么你总是可以做解构后,如

 const {Component, ...actions} = MyModule;
Run Code Online (Sandbox Code Playgroud)