メインコンテンツにスキップ
バージョン: v18.0.0

Suspense の互換性

Suspense について

Relay Hooks は、ローディング状態の指定に React Suspense を使用しています。そのため、データフェッチのための Suspense がまだサポートされていないのに、なぜそうなっているのか疑問に思うかもしれません。これは、データフェッチのための Suspense が React 17 で正式にサポートされるようになったということでしょうか?

データフェッチのための Suspense は準備完了ですか?

簡潔に言うと、いいえです。

データフェッチのための Suspense のサポート、一般的なガイダンス、および使用要件はまだ準備ができていません。React チームは、今後の React リリースに向けてこのガイダンスがどうなるかをまだ定義しています。

とは言え、データフェッチのための Suspense が広く実装され採用されるまでにはまだ解決すべきことがあるにもかかわらず、いくつかの理由から React 17 で Relay Hooks をリリースしました。

  • Relay は Suspense を非常に早期に採用し、データフェッチのための Suspense の研究で React と協力しました。これは、本番環境で Suspense を使用するための最初のテスト場の1つであり、その設計に関するいくつかの意思決定を知らせるのに役立ちました。そのため、Suspense の実装には、まだ完全に文書化されていない初期の学習を反映した部分(まだ改善したい部分)があります。実装にはまだ変更が必要になる可能性があり、React 17 で Suspense を使用するといくつかの制限があることは承知していますが、Relay Hooks が今後の React のリリースに向けて正しい軌道に乗っていること、これらの変更を合理化して Relay Hooks を少し早くリリースできることを確信しています。
  • Relay Hooks API は、Relay で長期的に提供したい API であり、以前の API よりも改善されていると信じています。その基盤となる実装はまだ変化しており、React チームによってデータフェッチのガイダンスが文書化され最終決定されるにつれてさらに変化する可能性が高いですが、Relay Hooks API 自体は安定しています。これらは Facebook 社内で広く採用されており、1年以上本番環境で使用されているため、正常に動作すると確信しています。コミュニティがこれらの採用を開始し、コミュニティから外部のフィードバックを得られるようにしたいと考えています。

React 17 で Relay Hooks の使用を開始するとどうなりますか?

Relay Hooks を採用するユーザーにとって、これは次のことを意味します。

  • ドキュメントに記載されているように、React 17 で Suspense を使用する際にはいくつかの制限があります。具体的には、現在のリリースには、同期レンダリングと並行レンダリングの両方で動作する機能のサブセットが含まれています。データフェッチのための Suspense を完全にサポートするには、中断されたツリーを並行してレンダリングしたり、データの再フェッチ時に新しいツリーに移行したりするなどの機能も必要です。現在リリースされている API を使用すると、今後のバージョンの React で同じ API を使用して並行レンダリングをサポートできるようになります。
  • 並行レンダリングとデータフェッチのための Suspense を完全にサポートする React の将来のバージョンがリリースされた場合、Relay も React リリースと並行して新しいメジャーリリースを行う予定です。そのリリースには、アップグレードのために文書化する破壊的な変更が含まれる可能性があります。

このページは役に立ちましたか?

いくつかの簡単な質問にお答えいただき、サイトをさらに改善するためにご協力ください いくつかの簡単な質問に回答する.