我正在从 Supabase 存储库加载 HTML 内容。当我显示不带标签的内容时,@html
它会显示(作为纯文本),但当我用标签封装它时,{@html ...}
什么都不显示,并且我收到hydration_html_changed
警告。
需要指出的是,如果我重新保存文件,内容就会正确显示。但重新加载整个页面后,我遇到了问题...
<!-- +page.svelte -->
<script>
import { page } from '$app/state';
console.log(page.data.personalMessage); // Logs content correctly
</script>
<h2>Hey !</h2>
<div>
<!-- Displays HTML content as plain text -->
{page.data.personalMessage}
<!-- Nothing shows + hydration_html_changed warning -->
{@html page.data.personalMessage}
</div>
```
问题似乎出在 SSR 期间为
page.data
空$app/state
。作为问题修复时的解决方法,您可以使用常规道具(我通常也会推荐这种级别的道具
+page
):