Запрос с Apollo в SSR и URL-адресах Dynami c (Далее. js) - PullRequest
0 голосов
/ 22 января 2020

Я разрабатываю проект, который использует динамические c URL-адреса, такие как [slug]. js, что я пытаюсь сделать: когда кто-то получает доступ к некоторому URL-адресу, например, domain.com/my-post, моя страница должна запросить для доступных слагов (которые содержат данные, такие как метатеги SEO) в конечной точке graphql и загрузите страницу, если в моей базе данных есть URL.

Я использую SSR, перехватчики apollo и т. д. c.

У меня такой вопрос: в процессе производства, когда кто-то публикует этот URL на Facebook или подобные вещи, метатеги на этом URL (domain.com/my-post) будут пустыми (до того, как запрос выполнит поиск доступных слагов) или после метатеги и содержимое было заполнено? учитывая, что когда я использую useQuery из apollo, мне нужно что-то вернуть, чтобы обработать загрузку и ошибку из этого запроса. Я в какой-то момент, когда пользователи, получающие доступ к этому URL, покажет сообщение о загрузке.

1 Ответ

0 голосов
/ 22 января 2020

У меня такой вопрос: в процессе производства, когда кто-то публикует этот URL-адрес в Facebook или тому подобное, метатеги на этом URL-адресе (domain.com/my-post) будут пустыми (до того, как запрос выполнит поиск доступных слагов) или после того, как метатеги и содержимое было полностью заполнено?

Это зависит от того, где вы делаете запрос на слаг. Если вы выполняете запрос на стороне сервера (например, внутри getInitialProps), страницы будут ждать получения данных перед предварительным рендерингом, это означает, что когда страница будет отображаться, она будет отображаться с метатегами.

Если вы следуя примеру with-apollo, он должен рендерить серверную сторону , очевидно, только если вы используете ваш HO C в pages, иначе вы импортируете свой HO C глубже в дерево компонентов, getInitialProps будет игнорироваться (так как работает только на страницах)

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