Обтекание динамической c пользовательской обложки вокруг приложения Next. js в фазе рендеринга сервера - PullRequest
1 голос
/ 21 марта 2020

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

Подобно этому вопросу , я пытаюсь собрать мультитенантное приложение с другим скином для каждого свойства. Однако ответ, приведенный в приведенном выше вопросе, предполагает, что различные ресурсы скина могут быть жестко запрограммированы в приложении. Это было бы хорошо, если бы мы говорили о 2 или 3 скинах, но мое приложение должно поддерживать десятки при запуске и, возможно, десятки тысяч в течение срока службы (каждое свойство может создавать несколько скинов для разных кампаний).

У меня есть API, где я могу запросить скин, который в настоящее время представляет собой длинную строку HTML со встроенным токеном, указывающим, где содержимое приложения должно отображаться в скин (например, {{body}}).

One из того, что мне нужно сделать, это вставить некоторые теги <link> в элемент <Head>, чтобы получить внешний CSS. Если React.Fragment поддерживает атрибуты (например, __dangerouslySetInnerHTML), я не смог понять, как это сделать. Если это возможно, это может быть одним из способов.

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

Поскольку я хочу, чтобы обложка отображалась на стороне сервера при первом запросе, а затем оставалась в состоянии c, пока вкладка не будет закрыта, имеет смысл сделать это в pages/_document.js. После этого я как бы растерялся, что делать дальше. Анализ строки, содержащей содержимое обложки, достаточно прост, но как мне смешать этот сырой HTML с компонентами React?

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