Website-Suche

reactjs - Typescript kann den importierten Typ Action nicht finden


Ich arbeite an meinem Typescript- + Redux-Projekt und versuche, den Typ Action von Redux wie unten importieren.

import { Action } from 'redux'

Es zeigt einen Fehler an, der sagt,

TS2305: Modul ‚"../../../../../../Users/LOCAL_DIR/node_modules/redux/es/redux"‘ hat kein exportiertes Mitglied ‚Action‘.

Ich sehe jedoch, dass sich die Typdeklaration in redux/index.d.ts befindet und es funktioniert, wenn ich es so schreibe,

import { Action } from 'redux/index.d.ts'

Laut diesem Beispiel, https://redux.js.org/recipes/usage-with-typescript#usage-with-redux-thunk, scheint es mit import { Action } from 'redux' zu funktionieren, aber in meinem Fall nicht. Gibt es dafür zusätzliche Konfigurationen?

Ich habe die Versionen bereits in meiner Umgebung installiert.

  • "redux": "^4.0.4"
  • "@types/redux": "^3.6.0"

Hier ist meine tsconfig.json

{
  "compilerOptions": {
    "baseUrl": ".",
    "outDir": "./dist/",
    "sourceMap": true,
    "noImplicitAny": true,
    "skipLibCheck": true,
    "module": "es2015",
    "target": "es5",
    "jsx": "react",
    "strictNullChecks": true,
    "allowJs": true,
    "declaration": false,
    "allowSyntheticDefaultImports": true,
    "moduleResolution": "node",
    "lib": [
      "dom",
      "es2015",
      "es5",
      "es6"
    ]
  }
}

Danke!

Antwort #1

Redux bietet seine eigenen Typdefinitionen, sodass Sie diese nicht von Definitely Typed installieren müssen. Wenn Sie @types/redux deinstallieren, sollte TypeScript die vom redux-Paket bereitgestellten verwenden, und Ihr Import wird funktionieren.

Das @types/redux-Paket wurde veraltet.