R42日記スマートフォン用の表示で見るR42日記この日記は私的なものであり所属会社の見解とは無関係です。takahashikznITmediaに寄稿しました。Webサービス好評頂いています→[クラウド帳票エンジンDocurain]2015-03-20React-0.13でpropTypesを違和感なく記述するJavascript最近、とある業務システムの一部となるリッチ画面をReactで開発してます。Reactは良く出来ていると思います。できるだけステートレスにすることで安全なコードを記述するという思想は僕の好みです。Fluxも同じく良い。『処理の流れは一方向。何も考えずにイベントを処理し続ければ良い』という、ある種のストリーミング的な発想により、非常に見通しの良い構成を実現できます。Fluxのフレームワークは乱立気味ですが、色々比較した結果、僕はrefluxを選びました。そんなに多機能じゃないので自分で魔改造しやすいところがナイス。最近リリースされたreact-0.13からES6のclass構文を使えるようになりました。reactに付属するJSXTranformerでパースできるようになったとは言え、イマドキReactを使うような人は当然Babelでトランスパイルしてますよね?え?CoffeeScript?TypeScript?本日の日記はここで終わりです。読んで頂きありがとうございました。...だから、classどころではなくES6のフル機能を使えるわけです。propTypesの宣言方法さて、React-0.13のリリースノートでは次のように書かれています。initializers.要約すると、propTypesは意味的にコンポーネントクラスの静的メンバとして宣言できるべきだが、ES6では無理。ES7では以下のように書けるようになるはず。それまで我慢しろとのことです。};のように書く必要があります。クラスのメンバーにも関わらず、クラス構文の外で定義することになり何ともカッコ悪い。});などと書くことになりますが、個人的にはイマイチ。Babelなら静的メンバーを普通に宣言できます。}}これで問題なく動きます。Reactのソースを読めばわかりますが、Reactの内部では単にcomponentClass.propTypesとやっているだけ*1なので、当然のように動く。記述量が増えるのはやむを得ませんが、見た目には違和感がなく自然な表記です。個人的には、もうずっとこれでいいんじゃね?と思ってます。イベントがそろそろやって参ります。画像やURLがリンク切れになっています。JSONの順序について月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。