diff options
Diffstat (limited to 'packages/integrations/preact/src/static-html.ts')
-rw-r--r-- | packages/integrations/preact/src/static-html.ts | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/packages/integrations/preact/src/static-html.ts b/packages/integrations/preact/src/static-html.ts deleted file mode 100644 index e1127d226..000000000 --- a/packages/integrations/preact/src/static-html.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { h } from 'preact'; - -/** - * Astro passes `children` as a string of HTML, so we need - * a wrapper `div` to render that content as VNodes. - * - * As a bonus, we can signal to Preact that this subtree is - * entirely static and will never change via `shouldComponentUpdate`. - */ -const StaticHtml = ({ value, name }: { value: string; name?: string }) => { - if (!value) return null; - return h('astro-slot', { name, dangerouslySetInnerHTML: { __html: value } }); -}; - -/** - * This tells Preact to opt-out of re-rendering this subtree, - * In addition to being a performance optimization, - * this also allows other frameworks to attach to `children`. - * - * See https://preactjs.com/guide/v8/external-dom-mutations - */ -StaticHtml.shouldComponentUpdate = () => false; - -export default StaticHtml; |