Отображение HTML-содержимого в форматированном тексте — Contentful + Next.js

Я создаю веб-сайт, используя Next.js и Contentful. Теперь я хочу визуализировать HTML-контент примерно так: <span style = "font-size: 18px">View</span> в формате Contentful Rich Text. Я даже не уверен, возможно ли это.

Можете ли вы дать мне решение, как это сделать? Заранее спасибо.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
324
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я сделал аналогичное решение, используя пакет @contentful/rich-text-react-renderer. Я попытался отобразить контент, подобный следующему HTML, для отображения кнопок и подсказок на моем веб-сайте.

<div>
  <div style = "width: 100%; text-align: center; font-size: 18px; font-weight: 700;">This is your journey guide!</div>
</div>

Подробности можно посмотреть здесь

О, спасибо за быстрый ответ! Можете ли вы помочь мне подробно отобразить CodeBlock?

mhelp.dev 10.05.2024 10:21

В моем контенте у CodeBlock есть поле «код», и оно отображается следующим образом: <div dangerouslySetInnerHTML = {{ __html: content.fields.code! }} />

Michael Ding 10.05.2024 10:23

Для лучшего понимания вы можете сослаться на следующее options в documentToReactComponents. renderEmbeddedEntry — это рендеринг CodeBlock. const options = { renderNode: { [BLOCKS.EMBEDDED_ENTRY]: (node: Node) => ( <div> { renderEmbeddedEntry(node.data.target) } </div> ), }, };

Michael Ding 10.05.2024 10:25

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