Facebook、Relayのバージョン7をリリース
GraphQLを用いたデータ駆動のReactアプリケーションを構築するためのJavaScriptフレームワーク、Relayのバージョン7がリリースされた。今回のリリースには、エラー処理とRelay Hooksの改善が含まれている。
Relayバージョン7には、GraphQL NoUnusedVariablesRule
からRelayIRTransform
バリデーションに移行した後のエラーを抑制するための新しいディレクティブ、@DEPRECATED__relay_ignore_unused_variables_error
が追加された。このディレクティブにより、これまで出現していなかったエラーを一時的に抑制し、Relayアップグレードにまつわる問題を開発チームがインクリメンタルに修正できるようにする。
Relayチームはいくつかの機能を改善した。フラグメントにおける@refetchable
ディレクティブの制約が緩和され、nodeフィールドの引数をid
と名付ける必要はなくなり、ID
型であればよくなった。また、開発者はエンティティの内部キャッシュキーを取得するために、__typename
が選択できるところで__id
フィールドを選択できるようになる。これを使うことで、idを持たないレコードを更新することができる。
バグ修正以外にも、Relay 7では多くの実験的機能が利用可能になっている。Relay Hooksを使うアプローチには多数の改善がなされており、useFragment
のパフォーマンス改善、useQuery
による進行中のリクエストの適切な破棄、useQuery
によりリクエストされた全データをサーバーが返さない場合に無限に中断させない、などが含まれている。
アップデートと破壊的変更の一覧はRelay 7リリースノートにある。
Relayは、GraphQLを用いたアプリケーションのためにFacebookが開発したJavaScriptフレームワークであり、ReactとGraphQLの間のブリッジを提供する。これを使うことで、Reactコンポーネントは必要なデータを指定して取得することができ、アプリのデータニーズをコンポーネントごとにローカライズしながら、コンポーネントを組み立てることができる。Relayは静的クエリとAOTコード生成を提供する。
RelayはMITライセンスで利用できるオープンソースソフトウェアだ。Relay GitHubプロジェクトを通じたコントリビューションとフィードバックが奨励されており、Relayコントリビューションガイドラインに従う必要がある。