response-markdown для рендеринга сочетания уценки и HTML, получит предупреждение Узлы текста с пустым пространством не могут отображаться как дочерние элементы <table>

Мне нужно отобразить контент, который представляет собой смесь уценки и обычного HTML. Контент запрашивается с сервера, и я не могу решить, есть ли пробелы внутри таблицы. например, необработанные данные контента:

      # [React](https://reactjs.org/)<br>React is a JavaScript library for building user interfaces.<br><table style=\"border: 1px solid black;\">  <tr> <td> <center>TEST TEST TES</center> </td> </tr> </table>

поскольку обычно избегает HTML, мне нужно использовать rehype-raw для правильного рендеринга HTML.

Для тела содержимого выше, если я просто использую его для рендеринга, ошибки не будет, за исключением того, что формат уценки не будет отображаться.

      <section dangerouslySetInnerHTML={{ __html: props.content! }}></section>

однако, если я использую с rehype-raw, хотя и HTML, и уценка могут отображаться, я получаю предупреждение в инструменте разработки

              <ReactMarkdown rehypePlugins={[rehypeRaw]}>
            {props.content!}
        </ReactMarkdown>

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

Итак, мои вопросы:

  1. Я знаю, что это за предупреждение, но почему я не получаю его, когда использую dangerouslySetInnerHTML но он появляется, когда я использую react-markdown
  2. поскольку я не могу управлять телом содержимого, так как оно находится на стороне сервера, могу ли я предотвратить появление предупреждения в инструменте разработки?

0 ответов

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