使用TypeScript和React的正确方法是什么,现在他们已经在15.5版本的单独项目中提取了PropTypes?
从15.4升级到15.5后,一切运行正常,但现在我在控制台中收到了这个警告:"Warning: Accessing PropTypes via the main React package is deprecated. Use the prop-types package from npm instead."
如何让它消失?
我已尝试执行以下步骤,但它并未删除控制台警告。
prop-types
和@types/prop-types
个包。import * as PropTypes from "proptypes"
的任何地方导入PropTypes。还尝试使用require("prop-types")
。noUnusedLocals
,以避免编译器抱怨PropTypes未被使用。但即可。由于我使用TypeScript,编译器在编译时验证PropTypes,因此我不需要在运行时执行相同操作,因此我根本不应该收到警告, ?我希望也许我可以在构建配置中的某处添加或更改设置,这将使React在没有PropTypes的情况下进行编译。
答案 0 :(得分:3)
我遇到了同样的问题,因为我将React导入为:
import * as React from 'react'
我将其更改为:
import React from 'react'
在我的项目中,警告消失了。
不需要prop-types
包。
P.S。我在tsconfig.json中使用babel并拥有"allowSyntheticDefaultImports": true
。
答案 1 :(得分:2)
想出来:导致警告的是mobx-react-devtools
。该问题已被报道并修复,但显然尚未公布。