summaryrefslogtreecommitdiff
path: root/packages/renderers/renderer-react/static-html.js
blob: 1efc625d05976fc0a67bd3b38982b1522e6f7dd3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { createElement as h } from 'react';

/**
 * 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 React that this subtree is
 * entirely static and will never change via `shouldComponentUpdate`.
 */
const StaticHtml = ({ value }) => {
  if (!value) return null;
  return h('astro-fragment', { suppressHydrationWarning: true, dangerouslySetInnerHTML: { __html: value } });
};

/**
 * This tells React 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;
mit/packages/astro/test/reuse-injected-entrypoint.test.js?h=fix-s-island-fallback&id=0462219612183b65867aaaef9fa538d89f201999&follow=1'>Fix script injection during build (#12392)Gravatar Arpan Patel 5-37/+48 2024-11-13[ci] release (beta) (#12405)astro@5.0.0-beta.8Gravatar Houston (Bot) 29-54/+125 2024-11-13[ci] release (#12422)astro@4.16.12Gravatar Houston (Bot) 28-54/+55 2024-11-13fix(routing): middleware in dev (#12420)Gravatar Emanuele Stoppa 6-9/+52 2024-11-12[ci] release (#12403)astro@4.16.11Gravatar Houston (Bot) 30-73/+68 2024-11-11fix(routing): emit error for forbidden rewrite (#12339)Gravatar Emanuele Stoppa 7-0/+88 2024-11-11[ci] formatGravatar Sarah Rainsberger 1-38/+38 2024-11-11update markdown config docs (#12382)Gravatar Sarah Rainsberger 1-4/+45 2024-11-08Actions middleware (#12373)Gravatar Ben Holmes 26-311/+483 2024-11-08Fix incorrect status code in dev server for action errors (#12401)Gravatar Ben Holmes 2-13/+21 2024-11-08fix(actions): better runtime check for invalid usages (#12402)Gravatar Emanuele Stoppa 8-5/+47 2024-11-08fix: error overlay message escape (#12305)Gravatar Florian Lefebvre 3-0/+28 2024-11-06[ci] release (beta) (#12370)create-astro@4.11.0-beta.0astro@5.0.0-beta.7@astrojs/svelte@6.0.0-beta.2Gravatar Houston (Bot) 31-55/+84 2024-11-06Add svelte changesetGravatar bluwy 5-39/+51 2024-11-06[ci] release (#12369)astro@4.16.10@astrojs/svelte@5.7.3Gravatar Houston (Bot) 34-81/+74 2024-11-06Update to Vite 6.0.0-beta.6 (#12323)Gravatar Bjorn Lu 15-100/+123 2024-11-06[ci] formatGravatar Bjorn Lu 2-18/+17 2024-11-06Add support for Svelte 5 @render syntax (#12390)Gravatar Bjorn Lu 3-0/+30 2024-11-06fix(deps): update all non-major dependencies (#12366)Gravatar renovate[bot] 29-533/+552