我使用react-markdown构建虚拟DOM,它允许只更新变化的DOM而不是完全重写。它生成
标签中的内容。我想在
标签内添加标签。
<ReactMarkdown
components={
{
code({ node, inline, className, children, ...props }) {
const match = /language-(\w+)/.exec(className || '');
return !inline && match ? (
<SyntaxHighlighter
{...props}
style={a11yDark}
language={match[1]}
PreTag="div"
>
{String(children).replace(/\n$/, '')}
</SyntaxHighlighter>
) : (
<code {...props} className={className}>
{children}
</code>
);
},
}}
>
{content}
</ReactMarkdown> Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
可能为段落节点类型使用了自定义渲染函数。我不确定,但可能会有所帮助。
import React from 'react'; import ReactMarkdown from 'react-markdown'; const renderers = { paragraph: ({ node, ...props }) => { return <p {...props}><span>在此添加您的附加内容</span>{node.children}</p>; }, // 根据需要使用您的自定义渲染器 }; const content = '在此添加您的markdown内容'; const App = () => { return ( <ReactMarkdown renderers={renderers}> {content} </ReactMarkdown> ); }; export default App;