我需要把这个组件转换成一个类组件,我怎样才能替换useQuery
钩子呢?
import {useQuery, gql} from "@apollo/client";
const getBooks = gql`
{
books {
name
}
}
`;
function BookList() {
const {data} = useQuery(getBooks);
console.log(data);
return (
<div>
<ul id="book-list">
{data.books.map(book => (
<li key={book.id}>{book.name}</li>
))}
</ul>
</div>
);
}
export default BookList;
3条答案
按热度按时间kxkpmulp1#
溶液-1
您可以使用如Mark所述的高阶元件,并且可以通过制作如下元件来实现:
你可以这样使用它:
Source用于上述代码段。
溶液-2
如果你对使用apollo克林特不感兴趣,你可以使用
AXIOS
或者普通的fetch
,或者使用graphql-request
库,从你的服务器上获取数据:eqoofvh92#
https://softchris.github.io/pages/graphql-apollo-client.html#query
在这里你可以找到答案。这里有一种不用useQuery进行查询的方法。
我在我的项目中试过了,效果很好。
sqxo8psd3#
我也遇到过同样的情况,以下是对我有效的解决方案:
package.json部分视图
书单组件
更多细节请参见我的github repo
https://github.com/danielOuattara/GraphQL_TheNetNinja