CORRECT003 · onMount 代わりの $effect
重大度: warning · カテゴリ: correctness
チェック内容
Section titled “チェック内容”空でない本体が reactive 値を一切読まない $effect / $effect.pre を検出します — $state・$derived・$props の参照、store 購読、裸の関数呼び出し(foo())のいずれも無いものです。そのような effect はマウント後に一度だけ実行され、再実行されません。コンポーネントの instance スクリプトを静的(CLI)解析します。
何にも反応しない $effect は実質 onMount です。$effect を使うとその意図が曖昧になり、リアクティビティの仕組みを誤用します。onMount なら「マウント時に一度だけ実行する」ことを直接表現できます。
<script> import { onMount } from 'svelte'; // $effect(() => { element.focus(); }); の代わりに onMount(() => { element.focus(); });</script>