我有2个这样的查询
const featuredArticles = gql `
query featureArticles() {
articles(where: {limit: 4, feature: true, sort: "published_at:desc") {
id
}
}
`;
const NO_FEATURE_ARTICLES_QUERY = gql`
query noFeatureArticles($slug: String!) {
articles(where: { id_nin: ??? },limit: 4, sort: "published_at:desc") {
${SINGLE_ARTICLE_MODEL}
}
}
`;
第一个查询将获取4个最新特色文章的ID,第二个查询将获取数据库中所有可用的文章。现在,我试图更改第二个查询,以获取除第一个查询中的4篇文章以外的所有文章,但我只是不知道如何将结果用作条件。你们能给我一些提示吗?预先感谢!
答案 0 :(得分:0)
我的index.jsx看起来像这样:
const Home = () => (
<div style={{
overflowX: 'hidden',
}}
>
let arr=[]
<Query query={FEATURE_ARTICLES_QUERY}>
{({ data: { articles } }) => {
if (!articles.length) {
return null;
}
arr=[articles[0].id,.......,articles[10].id];
return <SectionFeature articles={articles} />;
}}
</Query>
<Query query={ARTICLES_QUERY} id={arr}>
{({ data: { quotes } }) => {
if (!quotes.length) {
return null;
}
return <SectionQuote quotes={quotes} />;
}}
</Query>
</div>
);
export default Home;
例如,我想将第一个查询的结果传递给arr [],然后将其传递给第二个查询。但是数组将在第一个查询结束后消失。
更新:我已经做到了。非常感谢您的提示