![](/img/trans.png)
[英]@urql/svelte, “Function called outside component initialization” if not in onMount
[英]Is it guaranteed that Svelte's onMount() is called once in production?
鑒於 Svelte 的onMount()
是一個生命周期 function ,似乎每個組件都會調用一次onMount()
。
但是,我發現每當我修改 Svelte REPL 中的代碼時都會調用onMount()
。
例如,如果您修改Svelte MathJax REPL中的代碼,
並打開瀏覽器的檢查器,
您會發現多個具有相同 src 屬性的腳本被添加到 DOM 中。
這只發生在 REPL 中,還是也發生在生產版本中?
在 REPL 中,每次您修改代碼時,組件都會重新安裝,因為它已經更改並且現在應該顯示不同的組件。
在生產應用程序中,這不會發生,因為您不再更改代碼。 但是,它會在該組件的每個實例中被調用一次:
<Component />
<Component />
<Component />
<Component />
上面的代碼將觸發Component
中的onMount
4 次,因為您有它的 4 個實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.