我们需要带有 TypeScript 的 propTypes 吗?

Do we need propTypes with TypeScript?

我现在设置的新 react-native 项目使用 typescript。那么,既然 TS 已经解决了这个问题,是否还需要使用 propTypes 来进行类型验证?对我来说,我认为使用 propTypes 不会增加任何价值,因为 TS 会处理类型转换问题。它是正确的还是我应该使用 propTypes?如果有,有什么优势?

没有必要也没有必要在类型化的 React 代码中编写 PropTypes。

我能想到的唯一优势是,如果有人在没有类型检查的情况下使用代码,他会从 PropTypes 获得道具。

propTypes 只是 typechecking 的 Reacts 形式,如果你已经在使用像 TypeScript 这样的静态 type-checking 库那么不,你不需要使用 propType 验证。

React 在他们的文档中明确表示 propTypes 是那些尚未使用 type-checking:

形式的人的一个选项

As your app grows, you can catch a lot of bugs with typechecking. For some applications, you can use JavaScript extensions like Flow or TypeScript to typecheck your whole application. But even if you don’t use those, React has some built-in typechecking abilities.