Typescript и PropTypes служат разным целям. Typescript проверяет типы во время компиляции , тогда как PropTypes проверяются во время выполнения .
TypeScript полезен при написании кода: он предупредит вас, если вы передадите аргумент неправильного типа вашим компонентам React, даст вам автозаполнение для вызовов функций и т. Д.
PropTypes полезны, когда вы тестируете, как компоненты взаимодействуют с внешними данными, например, когда вы загружаете JSON из API. PropTypes поможет вам отладить (в режиме разработки React), почему ваш компонент не работает, печатая полезные сообщения, такие как:
Warning: Failed prop type: Invalid prop `id` of type `number` supplied to `Table`, expected `string`
Хотя может показаться, что Typescript и PropTypes делают одно и то же, на самом деле они совсем не перекрываются. Но можно автоматически сгенерировать PropTypes из Typescript, чтобы вам не приходилось указывать типы дважды, см., Например: