是否保证 Svelte 的 onMount() 在生产中被调用一次?
Is it guaranteed that Svelte's onMount() is called once in production?
鉴于 Svelte 的 onMount()
是一个 lifecycle function,似乎每个组件都调用一次 onMount()
。
但是,我发现每当我在 Svelte REPL 中修改代码时,都会调用 onMount()
。
例如,如果您修改Svelte MathJax REPL中的代码,
并打开浏览器的检查器,
你会发现 几个 相同 src 属性的脚本被添加到 DOM.
这只发生在 REPL 中,还是在生产版本中也发生?
在 REPL 中,每次您修改代码时,组件都会重新安装,因为它已经更改,现在应该显示不同的组件。
在生产应用中,这不会发生,因为您不再更改代码。但是,每个此组件的实例都会调用 一次:
<Component />
<Component />
<Component />
<Component />
上面的代码会在 Component
中触发 onMount
4 次 因为你有 4 个它的实例。
鉴于 Svelte 的 onMount()
是一个 lifecycle function,似乎每个组件都调用一次 onMount()
。
但是,我发现每当我在 Svelte REPL 中修改代码时,都会调用 onMount()
。
例如,如果您修改Svelte MathJax REPL中的代码,
并打开浏览器的检查器,
你会发现 几个 相同 src 属性的脚本被添加到 DOM.
这只发生在 REPL 中,还是在生产版本中也发生?
在 REPL 中,每次您修改代码时,组件都会重新安装,因为它已经更改,现在应该显示不同的组件。
在生产应用中,这不会发生,因为您不再更改代码。但是,每个此组件的实例都会调用 一次:
<Component />
<Component />
<Component />
<Component />
上面的代码会在 Component
中触发 onMount
4 次 因为你有 4 个它的实例。