1

我需要呈现混合了markdown和常规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>

因为react-markdown通常会转义 HTML,所以我需要使用rehype-raw来正确呈现 HTML。

对于上面的内容体,如果我只是dangerouslySetInnerHTML用来渲染它,除了不会渲染markdown格式之外,不会有错误。

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

但是,如果我使用react-markdownwith rehype-raw,虽然 HTML 和 markdown 都可以呈现,但我会在开发工具中收到警告

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

警告:validateDOMNesting(...):空白文本节点不能作为 . 确保源代码每一行的标签之间没有任何额外的空格。

所以我的问题是:

  1. 我知道这个警告是什么,但是为什么我在使用时没有收到此警告,但在我使用dangerouslySetInnerHTML时却出现了react-markdown
  2. 由于我无法控制来自服务器端的内容主体,有什么方法可以防止警告出现在开发工具上?

看起来您想要做的只是删除C并将A/设置B为索引:

df.set_index(['A', 'B'])[['D']]

输出:

                         D
A      B                  
apple  sweet    2019-07-02
       sweet    2016-11-25
       sweet    2017-09-01
       sweet           NaT
orange sour     2020-01-01
       sour     2020-12-12
banana neither  2015-01-01

注意。您可能想要对值进行排序,但如何排序尚不清楚。如果按升序排序D,则 NaT 应该是最后一个,而不是第一个

或者将所有内容都作为列:

df.sort_values(['A', 'B', 'D']).drop('C', axis=1)
4

0 回答 0