From 12cf40257f51e396f59bef27c3de3e7e37df5f30 Mon Sep 17 00:00:00 2001 From: zhipenglin Date: Wed, 2 Apr 2025 11:31:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9render?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/index.js | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) 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;