何时执行React PropTypes检查?

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

当在一个组件中定义PropTypes时,会有一些期望这些将在收到它们时检查它们的类型。但很明显,组件在填充预期值之前可以接收prop值,因此,PropType警告会显示为结果。那么在组件生命周期的哪个阶段运行类型检查?

reactjs react-proptypes
1个回答
0
投票

这是验证中捆绑的工厂:

https://github.com/facebook/react/blob/master/packages/react/src/ReactElementValidator.js

在开发模式下,它在这里使用:

https://github.com/facebook/react/blob/8af6728c6f105d37f9c0006288a6d1ac3903dc71/packages/react/src/React.js#L61-L63

因此,当传递道具时,它看起来像是在创建/克隆阶段,例如,创建元素工厂的底部调用它:https://github.com/facebook/react/blob/master/packages/react/src/ReactElementValidator.js#L262-L333

如果您将有效道具延迟更改为无效道具,则必须克隆或重新创建该元素(如果它触发警告)但我没有时间确认这一点,您可以轻松地创建一个带有记录器的基本类生命周期方法验证。

你可以在react repo root中搜索checkPropTypes并在内部找到所有用途。

© www.soinside.com 2019 - 2024. All rights reserved.