diff --git a/package.json b/package.json
index cb07771..c21c3c6 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@kne/markdown-components-render",
- "version": "0.1.0",
+ "version": "0.1.1",
"description": "渲染markdown文本,支持components.",
"syntax": {
"esmodules": true
@@ -86,6 +86,7 @@
"dependencies": {
"@kne/use-ref-callback": "^0.1.2",
"ajv": "^8.17.1",
+ "html-react-parser": "^5.2.2",
"js-yaml": "^4.1.0",
"lodash": "^4.17.21",
"markdown-it": "^14.1.0"
diff --git a/src/index.js b/src/index.js
index b2dab00..c3af74e 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,10 +1,11 @@
-import React, { useMemo } from 'react';
+import React, { useMemo, Fragment } from 'react';
import markdown from 'markdown-it';
import mdComponents from './markdown-it-components';
import compileVariables from './compileVariables';
import useRefCallback from '@kne/use-ref-callback';
import merge from 'lodash/merge';
import preset, { globalParams } from './preset';
+import htmlParser from 'html-react-parser';
const MarkdownComponentsRender = ({ children = '', ...props }) => {
const { htmlTransform, components = {}, variables = {}, options } = merge({}, globalParams, props);
@@ -38,12 +39,7 @@ const MarkdownComponentsRender = ({ children = '', ...props }) => {
return ;
}
- return React.createElement(element.tagName.toLowerCase(), {
- key: index,
- dangerouslySetInnerHTML: {
- __html: element.innerHTML
- }
- });
+ return {htmlParser(element.outerHTML)};
});
});