Я использую пользовательский сервер NextJS с клиентом Apollo. Я хочу получить данные GraphQL на стороне сервера и затем отправить их клиенту. Я был в состоянии сделать это, но клиентская сторона получает это снова. Я понимаю, что кеш Apollo доступен только на сервере, после чего его необходимо отправить клиенту и восстановить оттуда.
В Apollo docs упоминается SSR, но я не хочу полностью рендерить свое приложение с помощью клиента Apollo, я хочу использовать NextJS, я хочу получить только данные из клиента Apollo и ввести вручную это в HTML, чтобы восстановить его на клиенте. Я посмотрел несколько примеров использования NextJS с использованием Apollo, но ни один из них не показал, как именно это сделать.
Это мой пользовательский обработчик запросов:
const app = next({ dev: process.env.NODE_ENV !== 'production' });
const customHandler = async (req, res) => {
const rendered = await app.renderToHTML(req, res, req.path, req.query);
// somehow get the data from the apollo cache and inject it in the rendered html
res.send(rendered);
}