これは型定義ですね。
JSしかやったことがないとあまりなじみがないですが、それぞれの変数やオブジェクトに、あらかじめ型を設定しています。
?がついているのはNullable型といって、文字列とか数値とかとは別に、Nullも許容しますよってことです。
JSだと、同じ変数名に数値を入れたり文字列を入れたりできちゃいますが、他の言語では型が厳密に決められていて、string型と決まっていれば文字列しか入れられない、という風になっています。
それをJSでやるためのフレームワークやライブラリがあるわけですね。
なんでそんなめんどくさいことを、と思いますが、型付きの言語をやってる人からすればJSやPHPはいい加減でわかりにくいしチェックもしづらい、エラーがわかりにくい、とか、まあやりづらいと思っている人もいるわけです。
回答としては「Flowの記法」とでもいいましょうか。
Reactチームが提唱しているのは、型定義をしたければFlow(提示のURLは、Flux+Flowで作られているようです)、もしくはTypeScriptを使いましょうねという流れになっています。
reactjs/core-notes
One concern might be that as a separate project PropTypes could become incompatible (as a type system) with Flow or TypeScript.
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/16 01:12 編集