クエリの保持
Relayによって参照されるデータがガベージコレクションされないように、クエリを手動で保持するには、environment.retain
メソッドを使用できます。
const {
createOperationDescriptor,
getRequest,
graphql,
} = require('relay-runtime')
// Query graphql object
const query = graphql`...`;
// Construct Relay's internal representation of the query
const queryRequest = getRequest(query);
const queryDescriptor = createOperationDescriptor(
queryRequest,
variables
);
// Retain query; this will prevent the data for this query and
// variables from being garbage collected by Relay
const disposable = environment.retain(queryDescriptor);
// Disposing of the disposable will release the data for this query
// and variables, meaning that it can be deleted at any moment
// by Relay's garbage collection if it hasn't been retained elsewhere
disposable.dispose();
注意
Relayは、データをレンダリングしているマウントされたクエリコンポーネントに基づいて、クエリデータの保持を自動的に管理するため、通常は製品コード内でretainを直接呼び出す必要はありません。高度なユースケースや特別なユースケースでは、クエリデータの保持は通常、ルーターなどのインフラレベルのコード内で処理する必要があります。
このページは役に立ちましたか?
いくつかの簡単な質問に答えて サイトをさらに良くするのにご協力ください.