cla*_*uin 9 markdown reactjs commonmark react-markdown remarkgfm
我正在测试 ReactMarkdown 以便能够从 chatgpt 生成的 Markdown 语法渲染 HTML 表。我已经安装了react-markdown和remarkGfm。但我不断收到此错误: TypeError 无法设置未定义的属性(设置 'inTable')
当isolated + markdown被硬编码用于测试时,我在项目和codesandbox中都收到错误。这是代码:
import ReactMarkdown from 'react-markdown';
import remarkGfm from 'remark-gfm';
const MarkdownResponse = () => {
const response = `
# heading 1
## heading 2
### heading 3
~~strikethrough~~
> Blockquote
**strong**
*italics*
***
[Gmail](https://gmail.com)
***
1. ordered list
2. ordered list
- unordered list
- unordered list
| Syntax | Description |
| ----------- | ----------- |
| Header | Title |
| Paragraph | Text |
`;
const tableStyles = `
table {
width: 100%;
border-collapse: collapse;
}
th, td {
border: 1px solid black;
padding: 8px;
text-align: left;
}
`;
return (
<div>
<style>{tableStyles}</style>
<ReactMarkdown
remarkPlugins={[remarkGfm]}
children={response}
components={{
table: ({ node, ...props }) => (
<table style={{ border: '1px solid black' }} {...props} />
)
}}
/>
</div>
);
};
export default MarkdownResponse;
Run Code Online (Sandbox Code Playgroud)
我在这里阅读了几篇文章,据我所知,只要 remarkPlugins={[remarkGfm]} 就应该可以工作
我确实看到了一个线程,其中添加样式标签应该可以使其工作。但我也尝试过,但仍然遇到同样的错误。
链接到codesandbox
由于React-markdown v9 已经发布,因此remark-gfm v4不再有问题。
正如 @HHH 提到的,remark-gfm已于上周(2023 年 9 月 18 日)及其许多依赖项进行了更新。这是v3.0.1
一次v.4.0.0
重大更新。React-markdown的最新更新是2023 年 4 月 12 日的 v8.0.7,因此您可能认为它无法与最新版本一起使用remark-gfm
,并且您正在研究的示例很可能不是最新的。
所以截至目前的兼容版本是
"react-markdown": "^8.0.7",
"remark-gfm": "^3.0.1",
Run Code Online (Sandbox Code Playgroud)
你可以试试
"react-markdown": "^8.0.7",
"remark-gfm": "^3.0.1",
Run Code Online (Sandbox Code Playgroud)
在这里遇到同样的错误!
编辑:看起来 remark-gfm 的版本已于 3 天前更新至 4.0.0。这可能会带来一些重大变化。我已将其降级到 3.0.1,它似乎可以很好地渲染 Markdown 表
归档时间: |
|
查看次数: |
2984 次 |
最近记录: |