Рендеринг сервера с помощью response-router v4 и предварительной выборки данных

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

Вот как я использовал для рендеринга сервера с v3: https://github.com/alexnm/react-seed/blob/master/server/index.js

Основываясь на функции соответствия, я бы вызвал все функции предварительной выборки из всего дерева компонентов и затем ожидал с Promise.all для них, чтобы закончить, а затем вызвать renderToString Функция и вернуть HTML.

В RR4 у нас есть только <ServerRouter> компонент, поэтому текущее решение, с которым я пришел, дублирует код рендеринга: https://github.com/FortechRomania/react-redux-complete-example/blob/master/src/server/index.js

Я также использую render функция на <Match> тег для запуска действий предварительной выборки. Это уродливо и вводит все виды зависимостей в родительский компонент страницы, которую я хочу визуализировать с предварительно выбранными данными.

Что мне здесь не хватает? Кто-нибудь нашел лучшее решение для этого сценария? Я еще не нашел ничего полезного.

1 ответ

В новой документации RR4 есть рабочий пример: https://reacttraining.com/react-router/web/guides/server-rendering/data-loading

Другие вопросы по тегам