基本用法
JS
作为弱类型语言,有时候也会带来很多麻烦,比如需要的参数是Number
,而使用方传了String
,虽然我们可以通过参数的检查来return掉,但是这样也带来了很多繁琐的步骤。为了避免类似的问题,JS
提供了类型检查工具PropTypes,在React V15.5
之前,可以直接使用React.PropTypes
助手函数,之后则提供了npm包prop-types
。
注意,处于性能原因,propTypes
仅会在dev模式中work,如果发现类型和定义的不一致,会通过warning来提示。
以下是官网的例子,基本上够用了。
|
|
默认值指定
除了能指定参数的类型,还可以指定参数的默认值:
|
|
只有当指定的props为undefined的时候,才会使用默认值,如果参数有,但是不符合类型检查,也会使用该参数,而不是使用默认值。
propTypes 的类型检测是在defaultProps 解析之后发生的,因此也会对默认属性 defaultProps 进行类型检测。
整体流程
整体是这样的流程:
|
|
如果需要更强大的拓展,可以使用Flow
或者 TypeScript
。