requestSubscription
requestSubscription
用於建立 GraphQL 訂閱的命令式 API。另請參閱useSubscription
API 和更新資料指南。
import {graphql, requestSubscription} from 'react-relay';
const subscription = graphql`
subscription UserDataSubscription($input: InputData!) {
# ...
}
`;
function createSubscription(environment: IEnvironment): Disposable {
return requestSubscription(environment, {
subscription,
variables: {input: {userId: '4'}},
});
}
引數
environment
:Relay 環境config
:GraphQLSubscriptionConfig
類型 GraphQLSubscriptionConfig<TSubscriptionPayload>
- 具有下列欄位的物件
cacheConfig
:[選用]CacheConfig
subscription
:GraphQLTaggedNode
。使用graphql
樣板字面值指定的 GraphQL 訂閱variables
:傳遞至訂閱的變數onCompleted
:[選用]() => void
。建立訂閱時執行的選用回呼onError
:[選用](Error) => {}
。發生錯誤時執行的選用回呼onNext
:[選用](TSubscriptionPayload) => {}
。收到新資料時執行的選用回呼updater
:[選用]SelectorStoreUpdater
。
類型 CacheConfig
- 具有下列欄位的物件
force
:[選用] 布林值。如果為 true,則會無條件發出查詢,無論任何已設定的回應快取狀態為何。poll
:[選用] 數字。導致查詢依指定的間隔(以毫秒為單位)輪詢來即時更新。(此值將會傳遞至setTimeout
)。liveConfigId
:[選用] 字串。導致查詢透過呼叫 GraphQLLiveQuery 來即時更新;它代表執行即時查詢時閘道的組態。metadata
:[選用] 物件。使用者提供的中繼資料。transactionId
:[選用] 字串。使用者提供的值,旨在用作執行作業之指定執行個體的唯一 ID。
類型 SelectorStoreUpdater
- 具有簽名
(store: RecordSourceSelectorProxy, data) => void
的函式 - 此介面可讓您命令式地直接在 Relay 存放區中讀取和寫入資料。這表示您可以完全控制如何更新存放區以回應訂閱酬載:您可以建立全新的記錄,或更新或刪除現有的記錄。用於讀取和寫入 Relay 存放區的完整 API 可於此處取得。
傳回類型
- 清除訂閱的
Disposable
。
介面 Disposable
- 具有下列索引鍵的物件
dispose
:() => void
。處置資源。
行為
- 命令式地建立訂閱。
- 如需如何使用訂閱的更詳細說明,請參閱GraphQL 訂閱指南。
這個頁面實用嗎?
請協助我們透過以下方式讓網站更上一層樓 回答幾個快速問題.