最近,我在我的项目中升级了react/react-dom的版本,从16.3.2升级到16.8.6,以便能够使用钩子,并且在我的代码中做了一些小改动,一切都进行得很顺利。
但是我们正在使用typescript,当我尝试使用React.useState()时,typescript编译器报告说无法编译:Property 'useState' does not exist on type 'typeof React'.
我认为问题在于@types/react和@types/react-dom包不是最新的。所以我试着把它们从16.3.2升级到16.8.5 (16.8.6不存在@types/react-dom)。
然后我就可以使用usestate()了,但是其他的东西都坏了,typescript编译器抱怨几乎每个组件……
我的问题是:我应该怎么做?升级这些包的最佳方法是什么?版本需要相同吗?
谢谢。
发布于 2019-09-19 21:29:29
import React from 'react';
export default function App() {
const [state, setState] = React.useState();
}你试过那种方式吗?
并且您在package.json中使用了正确的@类型
"@types/react": "^16.8.14",
"@types/react-dom": "16.8.3",
"typescript": "3.5.3"https://stackoverflow.com/questions/58011925
复制相似问题