prop-types和TypeScript的区别

  • 侧重点不同
    PropTypes是组件接收prop的约束。
    TypeScript类型约束主要是参数传递以及返回值的约束,两个东西侧重点不一样

  • 部分相似功能
    通常我们编写一个 react 组件的时候,我们会去定义一个 prop-types 去校验我们的 class 的参数输入。而 ts 的 interface 的作用当然也是校验 props 的输入。

  • 区别
    TypeScrip· 的类型检查是静态的,prop-types 可以在运行时进行检查。你如你传了个offsetTop="abc",你的编辑器可能会提示你类型有误,但是在浏览器里仍然是可以正常运行的。而如果你使用了 prop-types,在浏览器里就会给出提示。

【注意】下面这些是从官方英文文档里引用过来的,你大概能够注意到,五种基本类型中的undefined和null并不在此列,propTypes类型检测的缺憾之一是,对于undefined和null的值,它无法捕捉错误

总结: 所以两者是可以混用的,虽然功能上有部分重复,但是可以让你的代码更严谨和有更加丰富的错误提示来校验你的代码。当然在基础的工作中,可以不写 prop-types 校验。

你可能感兴趣的:(prop-types和TypeScript的区别)