BT

InfoQ ホームページ ニュース 大幅な機能変更への準備を開発者に促すReact 15.5

大幅な機能変更への準備を開発者に促すReact 15.5

ブックマーク

原文(投稿日:2017/04/14)へのリンク

FacebookがReact 15.5をリリースした。バージョン16の大きな変化に対応するための時間的余裕を開発者に提供することが目的だ。

リリースのブログ記事ではAndew Clark氏が、React.PropTypesReact.createClassの2機能をメインパッケージから廃止する予定であることを明らかにしている。バージョン16への移行に備えるため、将来的なコードサイズ改善の方法として、独自のパッケージに移行されることになったのだ。

この2機能をメインパッケージから使用すると、現在はコンソールに警告が表示されるようになっている。現時点で修正を行なわない場合、バージョン16では動作しないことになる。

Reactが最初にリリースされた当時は、JavaScriptのクラスを生成する慣習的な方法がありませんでした。そのため、独自の方法としてReact.createClassを提供したのです。

その後ES2015において言語仕様の一部としてクラスが加えられたため、JavaScriptクラスを使用したRactコンポーネントの生成を可能にしました。機能コンポーネントと同様に、現在ではJavaScriptクラスを使用したコンポーネント生成は、Reactとして望ましい方法になっています。

JavaScriptクラスを使用するようにアプリを再コーディングすることができない場合には、NPMで使用可能なcreate-react-classモジュールに切り換えるという方法もある。この場合でもコード変更は必要だが、JavaScriptクラスの使用は回避できる。

propTypesの廃止は、ほとんどの開発者にとって、あまり大きな損失にはならないはずだ。TypeScriptでReactをコーディングしたり、あるいはツールチェーンにFlowを組み込むのであれば、Reactプロジェクトをタイプチェックするもっとよい方法がある。例えばTypeScriptの開発者ならば、prop強い型付けで定義することができる。

interface MyProps { firstName: string, lastName: string }

export default class MyComponent extends React.Component<MyProps, any> {

}

このようにクラスを宣言することで、TypeScript開発者は適切な型チェックを自動的に利用することが可能になる。propTypesの使用はすでに冗長なものになっているのだ。

バージョン15.5はまた、Reactアドオンの最後のリリースでもある。その中のいくつかは他のパッケージにプッシュされているが、フラグメントがビルトインでサポートされるバージョン16にはcreateFragmentは組み込まれない。

この記事を評価

関連性
スタイル

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。