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 全部去掉

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值