跳到主要内容
版本: v18.0.0

useClientQuery

useClientQuery 钩子用于渲染仅读取客户端字段的查询。

Relay 编译器完全支持 客户端扩展 架构,这允许您定义本地字段和类型。

# 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: 包含用于获取查询的变量值的 object。这些变量需要与查询中声明的 GraphQL 变量匹配。

返回值

  • data: 包含从 Relay 存储中读取的数据的 object;该 object 与指定查询的形状匹配。
    • 数据的 Flow 类型也将匹配此形状,并包含从 GraphQL 架构派生的类型。例如,上面 data 的类型是:{| user: ?{| name: ?string |} |}

行为

  • 此钩子与 fetchPolicy: store-onlyuseLazyLoadQuery 一样,它不会发送网络请求。

此页面是否有用?

通过以下操作帮助我们改进网站: 回答几个简短的问题.