useClientQuery
useClientQuery
hook 用於渲染僅讀取客戶端欄位的查詢。
Relay 編譯器完全支援 Schema 的客戶端擴展,這允許您定義本地欄位和類型。
# example client extension of the `Query` type
extend type Query {
client_field: String
}
這些僅限客戶端的欄位不會傳送到伺服器,應該使用本地更新的 API 進行更新,例如 commitPayload
。
const React = require('React');
const {graphql, useClientQuery} = require('react-relay');
function ClientQueryComponent() {
const data = useClientQuery(
graphql`
query ClientQueryComponentQuery {
client_field
}
`,
{}, // variables
);
return (
<div>{data.client_field}</div>
);
}
參數
query
:使用graphql
模板文字指定的 GraphQL 查詢。variables
:包含獲取查詢的變數值的物件。這些變數需要與查詢中宣告的 GraphQL 變數相符。
回傳值
data
:包含從 Relay 儲存區讀取出的資料的物件;該物件符合指定查詢的形狀。- 資料的 Flow 類型也會符合此形狀,並包含從 GraphQL Schema 衍生出的類型。例如,上述
data
的類型為:{| user: ?{| name: ?string |} |}
。
- 資料的 Flow 類型也會符合此形狀,並包含從 GraphQL Schema 衍生出的類型。例如,上述
行為
- 此 hook 的運作方式與具有
fetchPolicy: store-only
的useLazyLoadQuery
相同,它不會發送網路請求。
這個頁面有幫助嗎?
請協助我們透過 回答幾個快速問題,使網站變得更好.