🌝

PropTypeの凡ミスに気付きたい

2020/10/22に公開

Type 'Requireable<T>' is not assignable to type 'Validator<T>'.
と言われたら、焦らずにまず確認しましょう

type Props = {
  myProp: T
}

const MyComponent: FC<Props> = (props) => {
  return (}

MyComponent.propType = {
  myProp: PropType.T
}

こうなっていませんか?

このときProps型の定義でmyPropはnullable (undefinedable?) ではないのに、
propTypeのmyPropではisRequiredになっていないから怒っているようです

type Props = {
  myProp?: T
}

とするか、

MyComponent.propType = {
  myProp: PropType.T.isRequired
}

とすればエラーが消えるはずです

少しハマりました 30分くらい
でもみんな賢いからこれくらいではネットに書いてくれないんですよね

もっとわかりやすく怒ってほしいものです

GitHubで編集を提案

Discussion