是否可以在没有PropTypes的情况下使用React的上下文?

时间:2017-08-31 10:35:29

标签: reactjs

我正在处理的项目最近转移到TypeScript,除了指定contextTypes外,渲染React的PropTypes是多余的。现在我们正在升级到15.5之后的React版本,其中PropTypes被移动到一个独立的包而不是react。由于我们对PropTypes的使用是如此有限,如果有一种方法可以在没有它们的情况下使用React的上下文,那么似乎没有必要添加prop-types依赖项?

1 个答案:

答案 0 :(得分:6)

只是让contextTypes对象上的密钥似乎工作正常(假设它在引擎盖下使用hasOwnProperty),但是为了不记录任何错误,返回{{1}的函数似乎是必要的。这适用于null以及contextTypes

childContextTypes

在某些情况下,TypeScript会抱怨static contextTypes = { router: () => null }; static childContextTypes = { location: () => null }; getChildContext() { return { location: this.props.location }; } 没有属性() => null。我通过创建辅助函数isRequired来解决这个问题:

fakePropType