跳至主要內容
版本:v18.0.0

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 |} |}

行為

  • 此 hook 的運作方式與具有 fetchPolicy: store-onlyuseLazyLoadQuery 相同,它不會發送網路請求。

這個頁面有幫助嗎?

請協助我們透過 回答幾個快速問題,使網站變得更好.