PropType正在从主React库中删除。我的项目所需要的只是React.PropTypes.any.isRequired
,没有别的。
是否可以将此验证器编写为独立函数,以便避免添加新依赖项?React 对这个函数有什么期望?
谢谢!
查看文档,验证器无非是:
customProp: function(props, propName, componentName) {
if (!/matchme/.test(props[propName])) {
return new Error(
'Invalid prop `' + propName + '` supplied to' +
' `' + componentName + '`. Validation failed.'
);
}
},
因此,如果您检查 null
,这就是模拟Any.isRequired
所需的一切。
isRequired 检查道具是undefined
还是null
,如果其中任何一个匹配,则会抛出错误。请参阅此处的 isRequired 的来源:https://github.com/facebook/prop-types/blob/master/factoryWithTypeCheckers.js#L191