Reactでは、props
を使って値の受け渡しが出来るが、その値の型をチェックする仕組みが用意されている。
それがpropTypes
である。
詳しくは下記を参照。
誤った型のデータが渡された場合、コンソールにエラーを出してくれる機能である。
だが、これがなぜか機能せずに詰まっていた。
結論から言うと、開発モード(development mode
)ではなかったために、動作しなかった。
開発モード
Reactには「開発モード」というものがあり、propTypes
は、開発モードでのみ動く。
そしてこれは知らなかったのだが、react.min.js
では、開発モードはオフになっている。
今回、最新版のファイルを公式サイトからダウンロードし、それをhtmlで読み込んで使っていたのだが、その際、react.js
ではなくreact.min.js
を読み込んでいた。
react.min.js
は単なる圧縮版、軽量版であり、機能は同じだと思ってそうしていたのだが、それが間違いだった。
なんでpropTypes
が動かないんだと思い悩んでいたが、react.min.js
に代えてreact.js
を読み込むようにしたら、あっさり動いた。
npmではなくCDNやローカルファイルを読み込んでReactを使う場合、react.min.js
は本番環境でのみ使用し、普段の開発ではreact.js
を使ったほうがよい。