Runtime
Svelte
The svelte
package exposes lifecycle functions and the context API.
onMount
The onMount
function schedules a callback to run as soon as the component has been mounted to the DOM. It must be called during the component's initialisation (but doesn't need to live inside the component; it can be called from an external module).
onMount
does not run inside a server-side component.
If a function is returned from onMount
, it will be called when the component is unmounted.
This behaviour will only work when the function passed to onMount
synchronously returns a value. async
functions always return a Promise
, and as such cannot synchronously return a function.
beforeUpdate
Schedules a callback to run immediately before the component is updated after any state change.
The first time the callback runs will be before the initial onMount
afterUpdate
Schedules a callback to run immediately after the component has been updated.
The first time the callback runs will be after the initial onMount
onDestroy
Schedules a callback to run immediately before the component is unmounted.
Out of onMount
, beforeUpdate
, afterUpdate
and onDestroy
, this is the only one that runs inside a server-side component.
tick
Returns a promise that resolves once any pending state changes have been applied, or in the next microtask if there are none.
setContext
Associates an arbitrary context
object with the current component and the specified key
. The context is then available to children of the component (including slotted content) with getContext
.
Like lifecycle functions, this must be called during component initialisation.
Context is not inherently reactive. If you need reactive values in context then you can pass a store into context, which will be reactive.
getContext
Retrieves the context that belongs to the closest parent component with the specified key
. Must be called during component initialisation.
hasContext
Checks whether a given key
has been set in the context of a parent component. Must be called during component initialisation.
getAllContexts
Retrieves the whole context map that belongs to the closest parent component. Must be called during component initialisation. Useful, for example, if you programmatically create a component and want to pass the existing context to it.
createEventDispatcher
Creates an event dispatcher that can be used to dispatch component events. Event dispatchers are functions that can take two arguments: name
and detail
.
Component events created with createEventDispatcher
create a CustomEvent. These events do not bubble and are not cancellable with event.preventDefault()
. The detail
argument corresponds to the CustomEvent.detail property and can contain any type of data.
Events dispatched from child components can be listened to in their parent. Any data provided when the event was dispatched is available on the detail
property of the event object.