令人敬畏的类型脚本加载器:传播空数组将返回空数组

时间:2018-08-28 11:16:22

标签: reactjs typescript webpack webpack-dev-server spread-syntax

好吧,直到我深入研究空数组以呈现几个类似的依赖索引的组件为止,一切都很棒。

我写了这行代码(像往常一样):

[...Array(3)].map((_, i) => {...}) // return something, you know

或更相对

[...Array(3)].map((_, i) => i)

我期望什么以及正常行为(例如在Chrome的控制台中,或者Babel在我进入Typescript之前做了什么):

[0, 1, 2]

我在React TypeScript应用程序中得到的内容(使用webpack-dev-serverawesome-typescript-loader):

[empty x 3]

我更深入。我从应用程序登录[...Array(3)],然后在Chrome的控制台中登录。我得到了什么:

[undefined, undefined, undefined] // from Chrome's console
[empty x 3] // from my app

很显然,这个烦人的事情不允许我在没有变通办法/第三方的情况下呈现依赖于索引的组件。 那么,我是在做错什么,还是这是一个错误?

部分配置:

{
    test: /\.tsx?$/,
    loader: "awesome-typescript-loader",
    exclude: /node_modules/
},
{
    enforce: "pre",
    test: /\.js$/,
    loader: "source-map-loader"
},

版本:

"awesome-typescript-loader": "^4.0.0",
"typescript": "^3.0.1",
"webpack": "^3.10.0",
"webpack-dev-server": "^2.11.1",

1 个答案:

答案 0 :(得分:0)

嗯,还有一个名为downlevelIteration的编译器选项。一切正常

"downlevelIteration": true

其他:

如果您想传播HTMLCollection或类似的东西(例如NodeList),则应在dom.iterable选项中加入lib,例如:

"lib": ["es6", "dom", "dom.iterable"]