reactjs – react-redux typings文件中的TypeScript错误

前端之家收集整理的这篇文章主要介绍了reactjs – react-redux typings文件中的TypeScript错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
TypeScript编译器报告react-redux typings文件中的错误,即使我已在tsconfig中排除了typings目录.

TypeScript版本:1.8.10

这是我得到的错误

/home/me/dev/proj/typings/main/ambient/react-redux/index.d.ts中的错误
(64,16):错误TS2314:泛型类型’Dispatch’需要1个类型的参数.

/home/me/dev/proj/typings/main/ambient/react-redux/index.d.ts中的错误
(68,21):错误TS2314:泛型类型’ActionCreator’需要1个类型的参数.

/home/me/dev/proj/typings/main/ambient/react-redux/index.d.ts中的错误
(95,13):错误TS2314:通用类型“存储”需要1个类型的参数.

typings.json:

{
    "ambientDependencies": {
        "es6-shim": "registry:dt/es6-shim#0.31.2+20160602141504","material-ui": "registry:dt/material-ui#0.15.0+20160602140214","query-string": "registry:dt/query-string#3.0.0+20160331065456","react": "github:DefinitelyTyped/DefinitelyTyped/react/react.d.ts#f407264835650f5f38d4bb2c515a79e7a835916b","react-addons-css-transition-group": "registry:dt/react-addons-css-transition-group#0.14.0+20160316155526","react-addons-transition-group": "registry:dt/react-addons-transition-group#0.14.0+20160417134118","react-dom": "github:DefinitelyTyped/DefinitelyTyped/react/react-dom.d.ts#ca5bfe76d2d9bf6852cbc712d9f3e0047c93486e","react-redux": "registry:dt/react-redux#4.4.0+20160501125835","react-tap-event-plugin": "registry:dt/react-tap-event-plugin#0.0.0+20160226083632","require": "registry:dt/require#2.1.20+20160316155526","socket.io-client": "registry:dt/socket.io-client#1.4.4+20160317120654"
    },"dependencies": {
        "es6-promise": "registry:npm/es6-promise#3.0.0+20160211003958","radium": "registry:npm/radium#0.16.6+20160310030142","redux-thunk": "registry:npm/redux-thunk#2.0.0+20160525185520","webpack": "registry:npm/webpack#1.12.9+20160418172948"
    }
}

tsconfig.json:

{
    "version": "1.8.10","compileOnSave": false,"compilerOptions": {
        "module": "commonjs","target": "es5","jsx": "react","sourceMap": true,"emitDecoratorMetadata": true,"experimentalDecorators": true
    },"exclude": [
        "node_modules","typings"
    ]
}

为什么报告排除目录中的错误?如何消除这些错误

更新:

正如Mike在他的回答中所建议的那样,问题在于react-redux定义是使用redux的dt定义,而不是redux附带的定义.为redux安装dt defintions确实消除了这些错误,但这不是我的选择,因为我自己的代码使用redux附带的定义文件中定义的泛型类型.

所以我真正的问题是:如何阻止TypeScript报告来自typings目录的文件中的错误?我认为将’typings’设置为排除目录之一会阻止这种情况,但事实并非如此.

看起来react-redux的dt定义依赖于 dt definitions for redux,它们与 bundled with the redux npm模块不同,它看起来像你可能依赖的那样.

从dt安装redux的环境(全局)定义应该可以解决问题.

typings安装dt~reredx –global –save

TS打字空间很乱.

事实上,当您为react-redux安装dt类型定义时,它会剥离任何依赖项,迫使您自己安装它们会让事情变得更加混乱.

猜你在找的React相关文章