使用create react app创建的react应用程序版本16添加了Typescript,我安装了最新的v.18版本的@types/react和@types/react-dom,但我想知道版本与react不同是否是问题,谢谢。
5t7ly7z51#
是的,因为您将拥有React 18的TS类型,但React 16的JS代码。例如,您可能能够从React 18导入新功能,但由于您只有React 16,因此会出现运行时错误。您可以通过使用@types/react和@types/react-dom版本16来解决此问题,直到您准备好升级到React 18。
@types/react
@types/react-dom
cwtwac6a2#
npx typesync将解决类型同步问题。该脚本将检查您的package.json并在Web上搜索您的软件包的@types版本(如果尚未安装)。如果您不再需要@types软件包,这也可能会将其删除。您可以更进一步,将其添加到您的package.json中:
npx typesync
“postinstall”: “npx typesync”
现在,每次安装或更新软件包时,您都会自动运行postinstall脚本!
2条答案
按热度按时间5t7ly7z51#
是的,因为您将拥有React 18的TS类型,但React 16的JS代码。例如,您可能能够从React 18导入新功能,但由于您只有React 16,因此会出现运行时错误。
您可以通过使用
@types/react
和@types/react-dom
版本16来解决此问题,直到您准备好升级到React 18。cwtwac6a2#
npx typesync
将解决类型同步问题。该脚本将检查您的package.json并在Web上搜索您的软件包的@types版本(如果尚未安装)。如果您不再需要@types软件包,这也可能会将其删除。您可以更进一步,将其添加到您的package.json中:
现在,每次安装或更新软件包时,您都会自动运行postinstall脚本!