在 GraphQL 中按 ID 排序
Sorting in GraphQL by ID
我下载了一个简单的教程代码。
但是当我在玩它的时候,我不知道如何在 graphql 中按 id 排序。
这是query.js
import React from "react";
import { useQuery } from "@apollo/react-hooks";
const Query = ({ children, query, id }) => {
console.log(id);
const { data, loading, error } = useQuery(query, {
variables: { id: parseInt(id) }
});
if (loading) return <p>Loading...</p>;
if (error) return <p>Error: {JSON.stringify(error)}</p>;
return children({ data });
};
export default Query;
Articles.js
import gql from "graphql-tag";
const ARTICLES_QUERY = gql`
query Articles {
articles(limit: 10) {
id
title
category {
id
name
}
Image
}
}
`;
export default ARTICLES_QUERY;
然后用一个组件调用它。
<Query query={ARTICLES_QUERY}>
{({ data: { articles } }) => {
return <Articles articles={articles} />;
}}
</Query>
我能够将结果数量限制为 10 个,正如您在代码中看到的那样 articles(limit: 10)
但我不知道如何才能只看到最后 10 个项目。 (现在是前 10 个)。感谢您的帮助。
您必须更新 ID 的排序以从末尾获取
query Articles {
articles(limit: 10, sort: "id:desc") {
id
title
category {
id
name
}
Image
}
}
我下载了一个简单的教程代码。 但是当我在玩它的时候,我不知道如何在 graphql 中按 id 排序。
这是query.js
import React from "react";
import { useQuery } from "@apollo/react-hooks";
const Query = ({ children, query, id }) => {
console.log(id);
const { data, loading, error } = useQuery(query, {
variables: { id: parseInt(id) }
});
if (loading) return <p>Loading...</p>;
if (error) return <p>Error: {JSON.stringify(error)}</p>;
return children({ data });
};
export default Query;
Articles.js
import gql from "graphql-tag";
const ARTICLES_QUERY = gql`
query Articles {
articles(limit: 10) {
id
title
category {
id
name
}
Image
}
}
`;
export default ARTICLES_QUERY;
然后用一个组件调用它。
<Query query={ARTICLES_QUERY}>
{({ data: { articles } }) => {
return <Articles articles={articles} />;
}}
</Query>
我能够将结果数量限制为 10 个,正如您在代码中看到的那样 articles(limit: 10)
但我不知道如何才能只看到最后 10 个项目。 (现在是前 10 个)。感谢您的帮助。
您必须更新 ID 的排序以从末尾获取
query Articles {
articles(limit: 10, sort: "id:desc") {
id
title
category {
id
name
}
Image
}
}