【发布时间】:2020-06-13 09:49:58
【问题描述】:
我正在 Gatsby 中使用 Prismic 作为我的 CMS 来构建一个网站,到目前为止一切都很好。虽然我遇到了一些问题,但我无法弄清楚。
我希望能够让从 Prismic 中提取的所有帖子都可以按标签过滤并默认显示所有帖子。
我已经设法设置了一个数组来存储用户在页面上选择的标签,并且我发现我可以将一个静态值数组传递到查询中,以便在构建时过滤帖子。
但是,我不知道如何在构建时获取所有帖子并在未选择过滤器时显示所有帖子。但是当标签被选中并且在活动标签数组中只显示包含这些标签的帖子。
据我了解,Gatsby 不允许在运行时运行查询,只会在构建期间运行它们。我还尝试过有条件地渲染模板组件的想法,并根据该帖子的标签是否包含在活动标签数组中而对其进行更改,但那里也没有运气。
我尝试询问 prismic 支持,但他们说他们以前没有使用过此用例的用户。
任何想法将不胜感激。
【问题讨论】:
-
像
allPrismicPost这样没有过滤器的东西应该会给你所有的帖子。如果您需要更多帮助,请分享一些代码,以便我们了解您的问题所在。 -
如前所述,我目前可以很好地查询所有帖子,甚至可以手动查询数组中的标签。我猜真正的问题是:是否可以在运行时重新查询 API 而无需重建站点?如果是这种情况,您将如何将数组传递给graphql?如果无法在运行时重建站点,那么我将需要研究如何过滤数据。
标签: javascript reactjs gatsby prismic.io