next-mdx-remote 不传递组件
next-mdx-remote doesn't pass the component
我正在使用 next-mdx-remote
在 mdx 文件中
- Use `RAND()` in
在反应组件中
import { MDXRemote } from 'next-mdx-remote'
import { serialize } from 'next-mdx-remote/serialize'
const content = await serialize(content, {
mdxOptions: {
remarkPlugins: [],
rehypePlugins: [],
},
scope: frontmatter,
}),
<MDXRemote {...content} components={{
code: ({ children }: { children: ReactNode }) => (
<code className="bg-gray-50 dark:bg-gray-800" children={children} />
),
}} />
结果,输出HTML
<li>
Use
<code>
RAND()
</code>
in
</li>
应该是<code class="bg-gray-50 dark:bg-gray-800">
,但不是。
我不确定为什么,其他标签如 <p class="...">
工作得很好。
由于您使用的是单个反引号代码(内联代码),因此您应该使用 inlineCode
来定位它。 code
/pre
针对使用三重反引号的代码块。
<MDXRemote {...content} components={{
inlineCode: ({ children }: { children: ReactNode }) => (
<code className="bg-gray-50 dark:bg-gray-800" children={children} />
)
}} />
我正在使用 next-mdx-remote
在 mdx 文件中
- Use `RAND()` in
在反应组件中
import { MDXRemote } from 'next-mdx-remote'
import { serialize } from 'next-mdx-remote/serialize'
const content = await serialize(content, {
mdxOptions: {
remarkPlugins: [],
rehypePlugins: [],
},
scope: frontmatter,
}),
<MDXRemote {...content} components={{
code: ({ children }: { children: ReactNode }) => (
<code className="bg-gray-50 dark:bg-gray-800" children={children} />
),
}} />
结果,输出HTML
<li>
Use
<code>
RAND()
</code>
in
</li>
应该是<code class="bg-gray-50 dark:bg-gray-800">
,但不是。
我不确定为什么,其他标签如 <p class="...">
工作得很好。
由于您使用的是单个反引号代码(内联代码),因此您应该使用 inlineCode
来定位它。 code
/pre
针对使用三重反引号的代码块。
<MDXRemote {...content} components={{
inlineCode: ({ children }: { children: ReactNode }) => (
<code className="bg-gray-50 dark:bg-gray-800" children={children} />
)
}} />