diff --git a/package.json b/package.json index 5b66141..580e923 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@kne/markdown-components-render", - "version": "0.1.2", + "version": "0.1.3", "description": "渲染markdown文本,支持components.", "syntax": { "esmodules": true diff --git a/src/index.js b/src/index.js index c3af74e..f3e3cb1 100644 --- a/src/index.js +++ b/src/index.js @@ -7,7 +7,7 @@ import merge from 'lodash/merge'; import preset, { globalParams } from './preset'; import htmlParser from 'html-react-parser'; -const MarkdownComponentsRender = ({ children = '', ...props }) => { +const MarkdownComponentsRender = ({ children = '', render: customRender, ...props }) => { const { htmlTransform, components = {}, variables = {}, options } = merge({}, globalParams, props); const render = useRefCallback(children => { const { config, plugins } = Object.assign({}, options, { @@ -43,9 +43,15 @@ const MarkdownComponentsRender = ({ children = '', ...props }) => { }); }); - return useMemo(() => { + const result = useMemo(() => { return render(children); }, [children, render]); + + if (typeof customRender === 'function') { + return customRender(result); + } + + return result; }; export default MarkdownComponentsRender;