React Prop Types vs Typescript
Sounds about right. When you use TypeScript you can define the props via an interface.
interface ButtonProps {
text: string,
shadow?: boolean
}
const Button: React.FunctionComponent<ButtonProps> = props => {
return ( /* [...] */ );
};
See here