From 63e0af10a64a9fbe583fecaa00434f40487f6c7f Mon Sep 17 00:00:00 2001 From: Jason Miller Date: Tue, 15 Nov 2022 19:25:53 -0500 Subject: [PATCH 1/2] Tiny performance improvement for unmount option hook --- src/index.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/index.js b/src/index.js index 80954730..19d539fd 100644 --- a/src/index.js +++ b/src/index.js @@ -21,7 +21,7 @@ const isArray = Array.isArray; const assign = Object.assign; // Global state for the current render pass -let beforeDiff, afterDiff, renderHook; +let beforeDiff, afterDiff, renderHook, ummountHook; /** * Render Preact JSX + Components to an HTML string. @@ -42,6 +42,7 @@ export default function renderToString(vnode, context) { beforeDiff = options[DIFF]; afterDiff = options[DIFFED]; renderHook = options[RENDER]; + ummountHook = options.unmount; const parent = h(Fragment, null); parent[CHILDREN] = [vnode]; @@ -229,7 +230,7 @@ function _renderToString(vnode, context, isSvgMode, selectValue, parent) { if (afterDiff) afterDiff(vnode); vnode[PARENT] = undefined; - if (options.unmount) options.unmount(vnode); + if (ummountHook) ummountHook(vnode); return str; } @@ -346,7 +347,7 @@ function _renderToString(vnode, context, isSvgMode, selectValue, parent) { if (afterDiff) afterDiff(vnode); vnode[PARENT] = undefined; - if (options.unmount) options.unmount(vnode); + if (ummountHook) ummountHook(vnode); // Emit self-closing tag for empty void elements: if (!html) { From 7d42d12d3480fc22bf388f8580086cb56b6e8079 Mon Sep 17 00:00:00 2001 From: Jovi De Croock Date: Sat, 25 Feb 2023 09:21:51 +0100 Subject: [PATCH 2/2] Create soft-badgers-clap.md --- .changeset/soft-badgers-clap.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/soft-badgers-clap.md diff --git a/.changeset/soft-badgers-clap.md b/.changeset/soft-badgers-clap.md new file mode 100644 index 00000000..e6b13d5e --- /dev/null +++ b/.changeset/soft-badgers-clap.md @@ -0,0 +1,5 @@ +--- +"preact-render-to-string": patch +--- + +improve unmount option hook call performance