Javascript React无状态组件和类型检查React.PropTypes.element
描述 //反应元素。Javascript React无状态组件和类型检查React.PropTypes.element,javascript,reactjs,Javascript,Reactjs,描述 //反应元素。 可选元素:React.PropTypes.element 这不适用于检查无状态组件(定义为函数) 我正在使用 PropTypes.oneOfType([PropTypes.element, PropTypes.func]) 但是它太冗长了,而且这并没有限制只由无状态组件的函数输入 是否存在另一个PropTypes.来匹配这两种类型的React组件?无状态功能组件支持相同的类型检查机制。只需将.propTypes和.defaultProps设置为函数的属性。这是您的手机号码
可选元素:React.PropTypes.element 这不适用于检查无状态组件(定义为函数) 我正在使用
PropTypes.oneOfType([PropTypes.element, PropTypes.func])
但是它太冗长了,而且这并没有限制只由无状态组件的函数输入
是否存在另一个
PropTypes.
来匹配这两种类型的React组件?无状态功能组件支持相同的类型检查机制。只需将.propTypes
和.defaultProps
设置为函数的属性。这是您的手机号码,或者您可以查看使用情况
至于更高级的匹配,PropTypes.oneOfType()
就足够了,您还可以提供“自定义验证器”。现在两个选项都列在同一个列表上
如果您觉得语法冗长,那么从“react”中使用import{PropTypes as typeOf}作为别名可能会有所帮助。但任何进一步的抽象/别名都将超出React的能力,因为:
React.PropTypes.element是受支持的类型检查之一,特定于React
缺少处理边缘病例的标准方法。我是否应该同意JS<代码> No.n==‘数字’< /代码>或考虑<代码>楠<代码>作为无效输入?< /LI>
元素是使用JSX(
)或调用React.createElement
时得到的元素。看起来您可能正在传递组件“构造函数”本身,而不是它的元素。你能告诉我你是如何设置道具的吗?@FelixKling的PropTypes.element
指的是一个组件或组件的一个实例?例如,如果我有一个类组件MyComponent
,我应该传入MyComponent
还是
?@FranklinYu: