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

loadEntryPoint

loadEntryPoint

この関数は、「レンダリングしながらフェッチ」パターンを実装するために、EntryPointContainerと一緒に使用するように設計されています。

loadEntryPointから返されたエントリーポイント参照は、関連するクエリがある場合、それらが参照されなくなったら.dispose()が呼び出されない限り、Relayストアにデータをリークします。そのため、可能な場合はuseEntryPointLoaderを使用することをお勧めします。これにより、エントリーポイント参照が正しく破棄されることが保証されます。より完全な例については、useEntryPointLoaderのドキュメントを参照してください。

const EntryPoint = require('MyComponent.entrypoint.js');

const {loadQuery} = require('react-relay');

// Generally, your component should access the environment from the React context,
// and pass that environment to this function.
const getEntrypointReference = environment => loadEntryPoint(
{ getEnvironment: () => environment },
EntryPoint,
{id: '4'},
);

// later: pass entryPointReference to EntryPointContainer
// Note that EntryPoint references should have .dispose() called on them,
// which is missing in this example.

引数

  • environmentProvider: リクエストを実行するRelay Environmentインスタンスのプロバイダー。Reactコンポーネント内でこのリクエストを開始する場合は、useRelayEnvironmentを使用して取得した環境を使用する必要があるでしょう。
  • EntryPoint: ロードするEntryPoint。
  • entryPointParams: EntryPointのgetPreloadPropsメソッドに渡されるパラメーター。

Flow型パラメーター

  • TEntryPointParams: EntryPointのgetPreloadPropsメソッドの最初のパラメーターの型に対応する型パラメーター。
  • TPreloadedQueries: EntryPointコンポーネントへのqueriesパラメーターの型。
  • TPreloadedEntryPoints: EntryPointコンポーネントに渡されるentrypointsパラメーターの型。
  • TRuntimeProps: EntryPointContainerに渡されるpropsプロパティの型。このオブジェクトは、EntryPointコンポーネントにもpropsとして渡されます。
  • TExtraProps: EntryPointのgetPreloadPropsメソッドがextraPropsプロパティを持つオブジェクトを返す場合、これらの追加のプロパティはEntryPointコンポーネントにextraPropsとして渡されます。
  • TEntryPointComponent: EntryPointの型。
  • TEntryPoint: EntryPointの型。

戻り値

次のプロパティを持つEntryPoint参照

  • dispose: このEntryPointによってロードされたクエリ参照(他のEntryPointを介した間接的なものを含む)がストアによって保持されないように解放するメソッド。これにより、これらのクエリ参照によって参照されるデータがガベージコレクションされる可能性があります。

戻り値の正確な形式は不安定であり、変更される可能性が非常に高いです。loadEntryPoint()の結果をEntryPointContainerに渡す代わりに、戻り値の他のプロパティを使用しないことを強くお勧めします。このようなコードは、Relayの将来のバージョンにアップグレードする際に壊れる可能性が非常に高いためです。

動作

  • loadEntryPoint()が呼び出されると、EntryPointの関連クエリ(ある場合)の各クエリは、クエリデータとクエリASTをロードします。クエリASTとデータの両方が利用可能になると、データはストアに書き込まれます。これは、関連するクエリがusePreloadedQueryでレンダリングされたときにのみ、関連するクエリからのデータをストアに書き込むprepareEntryPoint_DEPRECATEDの動作とは異なります。
  • EntryPoint参照の関連クエリ参照は、Relayストアによって保持され、データがガベージコレクションされるのを防ぎます。EntryPoint参照で.dispose()を呼び出すと、関連するクエリからのデータはガベージコレクションされる可能性があります。
  • loadEntryPointは、Reactのレンダリングフェーズ中に呼び出されると、エラーをスローする可能性があります。

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

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