[英]Do I need to install @types/react to work with React in a TypeScript project?
我正在將我的項目從 JavaScript 轉換為 TypeScript。
這是我當前的package.json
依賴項:
"devDependencies": {
"@babel/cli": "^7.10.5",
"@babel/core": "^7.10.5",
"@babel/node": "^7.10.5",
"@babel/preset-env": "^7.10.4",
"@babel/preset-react": "^7.10.4",
"@babel/preset-typescript": "^7.10.4",
"babel-loader": "^8.1.0",
"babel-plugin-module-resolver": "^4.0.0",
"babel-plugin-styled-components": "^1.10.7",
"clean-webpack-plugin": "^3.0.0",
"dotenv-webpack": "^2.0.0",
"file-loader": "^6.0.0",
"html-webpack-plugin": "^4.3.0",
"ngrok": "^3.2.7",
"rimraf": "^3.0.2",
"webpack": "^4.44.0",
"webpack-cli": "^3.3.12",
"webpack-dev-server": "^3.11.0"
},
"dependencies": {
"@hot-loader/react-dom": "^16.13.0",
"core-js": "^3.6.5",
"firebase": "^7.17.1",
"md5": "^2.2.1",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"react-helmet": "^6.1.0",
"react-hot-loader": "^4.12.21",
"react-redux": "^7.2.1",
"react-router-dom": "^5.2.0",
"redux": "^4.0.5",
"regenerator-runtime": "^0.13.7",
"styled-components": "^5.1.1",
"uuid-v4": "^0.1.0"
}
}
我已經導入了react
和react-dom
,但收到以下警告:
找不到模塊“反應”的聲明文件。 嘗試
npm install @types/react
(如果它存在)或添加一個包含 `declare module 的新聲明(.d.ts)文件
react-dom
也一樣
找不到模塊“react-dom”的聲明文件。 嘗試
npm install @types/react-dom
如果它存在或添加一個包含`declare module 的新聲明(.d.ts)文件
事實上,到目前為止我導入的所有庫都給我同樣的警告:
索引.tsx
import React from "react";
import ReactDOM from "react-dom";
import { BrowserRouter as Router} from 'react-router-dom';
import { Provider } from 'react-redux';
我是否需要安裝那些@types/react
才能與 TypeScript 一起使用 React? 我還需要為我導入的每個庫安裝@types/package
嗎? 這是如何運作的?
是的。 或者,更詳細地說,要使用帶有 TypeScript 的 JS 庫,您需要
@types/
package(源於DefinitelyTyped ); 在這里吹響我自己的號角,我寫了一個package 可以幫助的自動類型,或者.d.ts
文件,如下所示:declare module 'some-library' {
export const doInterestingThings(): void;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.