如何处理react,react-dom,@ types / react和@ types / react-dom软件包版本?

问题描述 投票:0回答:1

最近,我将项目中的react / react-dom版本从16.3.2升级到16.8.6,以便能够使用钩子,并且对我的代码进行了一些小的更改,一切都进行得很好。

但是我们使用的是打字稿,当我尝试使用React.useState()时,打字稿编译器抱怨并且无法编译: Property 'useState' does not exist on type 'typeof React'.

我认为问题在于@ types / react和@ types / react-dom软件包不是最新的。 因此,我尝试将它们从16.3.2升级到16.8.5(@ types / react-dom不存在16.8.6)。

然后我可以使用usestate()但是其他所有东西都坏了,打字稿编译器抱怨几乎每个组件...

我的问题是:我该怎么办? 升级那些软件包的最佳方法是什么? 版本是否必须相同?

谢谢。

reactjs typescript package.json
1个回答
1
投票
import React from 'react';


export default function App() {
  const [state, setState] = React.useState(); 
}

您尝试过这种方式吗?

并且您在package.json中使用正确的@types

"@types/react": "^16.8.14",
"@types/react-dom": "16.8.3",
"typescript": "3.5.3"
© www.soinside.com 2019 - 2024. All rights reserved.