Повторный запрос в Гэтсби во время выполнения - PullRequest
0 голосов
/ 29 февраля 2020

Я создаю сайт в Гэтсби, используя Prismi c в качестве моей CMS, и до сих пор это было здорово. Хотя я столкнулся с проблемой, которую не могу понять.

Я хочу иметь возможность фильтровать все сообщения из Prismi c по тегам и показывать все по умолчанию.

Мне удалось настроить массив, в котором хранятся теги, выбранные пользователем на странице, и я понял, что могу передать массив значений stati c в запрос для фильтрации сообщений на время сборки.

Но я не могу понять, как получить все сообщения во время сборки и отобразить их все, когда фильтры не выбраны. Но когда теги выбраны и в массиве активных тегов отображаются только сообщения, содержащие эти теги.

Насколько я понимаю, Гэтсби не позволяет выполнять запросы во время выполнения и будет запускать их только во время сборки. Я также поиграл с идеей условного рендеринга компонента шаблона и его изменения в зависимости от того, включены ли теги этого поста в массив активных тегов, но там тоже не повезло.

Я пытался обратиться в службу поддержки prismi c, но они сказали, что у них ранее не было пользователя с этим вариантом использования.

Любые идеи будут с благодарностью.

1 Ответ

1 голос
/ 02 марта 2020

Поскольку Gatsby имеет статус c, сервер, работающий для ответа на запросы, отсутствует.

Вы можете использовать клиентскую сторону API-интерфейса GraphQL Prismic, если вы хотите получать отфильтрованные данные в реальном времени, а затем передать эту информацию в соответствующий компонент для отображения. Эти данные не будут go проходить через слой GraphQL Гэтсби, поэтому любые модификации, расширения или побочные эффекты, которые выполняет Гэтсби (например, преобразования изображений, пользовательские разрешения, примечание и т. Д. c), будут недоступны.

Если вы уже загружаете данные на клиент (т. Е. Извлекаете все метаданные публикации, которые вы в любом случае будете фильтровать), более простой путь - просто отфильтровать данные на стороне клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...