在组件中定义了PropType时,可以期望它们会在收到道具时检查道具的类型。但是很明显,组件可以在用期望值填充之前获得一个prop值,因此,会出现PropType警告。那么在组件生命周期的什么时候运行类型检查?
答案 0 :(得分:0)
这是捆绑验证的工厂:
https://github.com/facebook/react/blob/master/packages/react/src/ReactElementValidator.js
在开发模式下,在这里使用它:
因此,当传递道具时,它似乎处于创建/克隆阶段,例如,create元素工厂的底部将其称为:https://github.com/facebook/react/blob/master/packages/react/src/ReactElementValidator.js#L262-L333
如果将有效道具后期更改为无效道具,则它必须克隆或重新创建元素(如果它发出警告),但是我没有时间确认这一点,则可以轻松创建一个基本类与记录器一起对生命周期方法进行验证。
您可以在react repo根目录中搜索checkPropTypes
,并在内部找到所有用途。