【发布时间】:2021-10-12 22:12:18
【问题描述】:
In the Relay docs,要获取查询,您必须先使用useQueryLoader 预加载它,然后再将结果传递给usePreloadedQuery。然而,这第一步,useQueryLoader 有两个参数:一个查询本身,很容易获得,preloadedQueryReference,文档没有解释如何获得。他们所说的只是“例如由路由器提供”,但实际上没有路由器支持带钩子的中继,因此这不是有用的信息。
作为一个简单的例子,我想预加载一个组件,然后使用查询:
import {
usePaginationFragment,
usePreloadedQuery,
useQueryLoader
} from "react-relay";
import graphql from 'babel-plugin-relay/macro';
const MY_QUERY = graphql` some stuff here `;
export default function SomeComponent(props) {
const initialRef = ???????;
const [
queryReference,
loadQuery,
disposeQuery,
] = useQueryLoader(AllHits, initialRef);
const qry = usePreloadedQuery(AllHits, queryReference);
}
但是,如果没有initialRef,我将无法继续进行下去。我如何获得这个?
【问题讨论】:
标签: javascript reactjs graphql relay