React 的 PropTypes

React 中,prop 是从外部传递给组件的数据,可以说是组件对外的一个接口属性,它也是应该有对应的规范的,比方说:

  • 这个组件支持哪些 prop
  • 每个 prop 应该是怎么样的格式

React 是通过 propTypes 用来规范 prop 必须满足某种规格,如下所示:

export default class MyComponent extends Component {
  //此处代码省略
}

MyComponent.propTypes = {
    name: PropTypes.string.isRequired,
    position: PropTypes.number
};

其中 name 是必须指定并且为 string 类型,而 postionnumber 类型,可有可无

有了 propTypes 的检查,我们可以在开发阶段轻易发现 prop 使用错误的地方:

 <MyComponent name={10} />

那么在运行时,在浏览器的 Console 就可以看到:

在这里插入图片描述

因此一定要写 PropTypes,切莫为了省事而不写

propTypes 虽然能在开发阶段发现代码中的问题,但是这个是存在着一定的性能消耗,而且 propTypes 产生的错误信息也只有开发者才能看懂,因此这个 API 只适合在开发环境下使用

我们在发布产品时,可以使用 babel-react-optimize 对 React 代码进行优化,它会自动将代码中定义的 propTypes 全部去掉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值