本文へスキップ

svelte/legacy

このモジュールは、マイグレーション中に使用する様々な関数を提供します。いくつかの機能は新しい機能と完全に置き換えられないためです。すべてのインポートは非推奨としてマークされており、時間をかけてマイグレーションする必要があります。

import {
	function asClassComponent<Props extends Record<string, any>, Exports extends Record<string, any>, Events extends Record<string, any>, Slots extends Record<string, any>>(component: SvelteComponent<Props, Events, Slots> | Component<Props>): ComponentType<SvelteComponent<Props, Events, Slots> & Exports>

Takes the component function and returns a Svelte 4 compatible component constructor.

@deprecatedUse this only as a temporary solution to migrate your imperative component code to Svelte 5.
asClassComponent
,
function createBubbler(): (type: string) => (event: Event) => boolean

Function to create a bubble function that mimic the behavior of on:click without handler available in svelte 4.

@deprecatedUse this only as a temporary solution to migrate your automatically delegated events in Svelte 5.
createBubbler
,
function createClassComponent<Props extends Record<string, any>, Exports extends Record<string, any>, Events extends Record<string, any>, Slots extends Record<string, any>>(options: ComponentConstructorOptions<Props> & {
    component: ComponentType<SvelteComponent<Props, Events, Slots>> | Component<Props>;
}): SvelteComponent<Props, Events, Slots> & Exports

Takes the same options as a Svelte 4 component and the component function and returns a Svelte 4 compatible component.

@deprecatedUse this only as a temporary solution to migrate your imperative component code to Svelte 5.
createClassComponent
,
function handlers(...handlers: EventListener[]): EventListener

Function to mimic the multiple listeners available in svelte 4

@deprecated
handlers, function nonpassive(node: HTMLElement, [event, handler]: [event: string, handler: () => EventListener]): void

Substitute for the nonpassive event modifier, implemented as an action

@deprecated
nonpassive
,
function once(fn: (event: Event, ...args: Array<unknown>) => void): (event: Event, ...args: unknown[]) => void

Substitute for the once event modifier

@deprecated
once
,
function passive(node: HTMLElement, [event, handler]: [event: string, handler: () => EventListener]): void

Substitute for the passive event modifier, implemented as an action

@deprecated
passive
,
function preventDefault(fn: (event: Event, ...args: Array<unknown>) => void): (event: Event, ...args: unknown[]) => void

Substitute for the preventDefault event modifier

@deprecated
preventDefault
,
function run(fn: () => void | (() => void)): void

Runs the given function once immediately on the server, and works like $effect.pre on the client.

@deprecatedUse this only as a temporary solution to migrate your component code to Svelte 5.
run
,
function self(fn: (event: Event, ...args: Array<unknown>) => void): (event: Event, ...args: unknown[]) => void

Substitute for the self event modifier

@deprecated
self
,
function stopImmediatePropagation(fn: (event: Event, ...args: Array<unknown>) => void): (event: Event, ...args: unknown[]) => void

Substitute for the stopImmediatePropagation event modifier

@deprecated
stopImmediatePropagation
,
function stopPropagation(fn: (event: Event, ...args: Array<unknown>) => void): (event: Event, ...args: unknown[]) => void

Substitute for the stopPropagation event modifier

@deprecated
stopPropagation
,
function trusted(fn: (event: Event, ...args: Array<unknown>) => void): (event: Event, ...args: unknown[]) => void

Substitute for the trusted event modifier

@deprecated
trusted
} from 'svelte/legacy';

asClassComponent

これは、命令型コンポーネントコードを Svelte 5 に移行するための暫定的な解決策としてのみ使用してください。

コンポーネント関数を受け取り、Svelte 4 と互換性のあるコンポーネントコンストラクタを返します。

function asClassComponent<
	Props extends Record<string, any>,
	Exports extends Record<string, any>,
	Events extends Record<string, any>,
	Slots extends Record<string, any>
>(
	component:
		| SvelteComponent<Props, Events, Slots>
		| Component<Props>
): ComponentType<
	SvelteComponent<Props, Events, Slots> & Exports
>;

createBubbler

これは、Svelte 5 で自動的に委任されたイベントを移行するための暫定的な解決策としてのみ使用してください。

Svelte 4 では使用できないハンドラなしで、on:click の動作を模倣する bubble 関数を作成する関数です。

function createBubbler(): (
	type: string
) => (event: Event) => boolean;

createClassComponent

これは、命令型コンポーネントコードを Svelte 5 に移行するための暫定的な解決策としてのみ使用してください。

Svelte 4 コンポーネントと同じオプションとコンポーネント関数を受け取り、Svelte 4 と互換性のあるコンポーネントを返します。

function createClassComponent<
	Props extends Record<string, any>,
	Exports extends Record<string, any>,
	Events extends Record<string, any>,
	Slots extends Record<string, any>
>(
	options: ComponentConstructorOptions<Props> & {
		component:
			| ComponentType<SvelteComponent<Props, Events, Slots>>
			| Component<Props>;
	}
): SvelteComponent<Props, Events, Slots> & Exports;

handlers

Svelte 4 で使用可能な複数のリスナーを模倣する関数

function handlers(
	...handlers: EventListener[]
): EventListener;

nonpassive

アクションとして実装された nonpassive イベント修飾子の代替

function nonpassive(
	node: HTMLElement,
	[event, handler]: [
		event: string,
		handler: () => EventListener
	]
): void;

once

once イベント修飾子の代替

function once(
	fn: (event: Event, ...args: Array<unknown>) => void
): (event: Event, ...args: unknown[]) => void;

passive

アクションとして実装された passive イベント修飾子の代替

function passive(
	node: HTMLElement,
	[event, handler]: [
		event: string,
		handler: () => EventListener
	]
): void;

preventDefault

preventDefault イベント修飾子の代替

function preventDefault(
	fn: (event: Event, ...args: Array<unknown>) => void
): (event: Event, ...args: unknown[]) => void;

run

これは、コンポーネントコードを Svelte 5 に移行するための暫定的な解決策としてのみ使用してください。

サーバーで一度だけすぐに指定された関数を実行し、クライアントでは $effect.pre のように動作します。

function run(fn: () => void | (() => void)): void;

self

self イベント修飾子の代替

function self(
	fn: (event: Event, ...args: Array<unknown>) => void
): (event: Event, ...args: unknown[]) => void;

stopImmediatePropagation

stopImmediatePropagation イベント修飾子の代替

function stopImmediatePropagation(
	fn: (event: Event, ...args: Array<unknown>) => void
): (event: Event, ...args: unknown[]) => void;

stopPropagation

stopPropagation イベント修飾子の代替

function stopPropagation(
	fn: (event: Event, ...args: Array<unknown>) => void
): (event: Event, ...args: unknown[]) => void;

trusted

trusted イベント修飾子の代替

function trusted(
	fn: (event: Event, ...args: Array<unknown>) => void
): (event: Event, ...args: unknown[]) => void;

LegacyComponentType

移行期間中にコンポーネントをクラスと関数として両方使用できるようにします。

type LegacyComponentType = {
	new (o: ComponentConstructorOptions): SvelteComponent;
	(
		...args: Parameters<Component<Record<string, any>>>
	): ReturnType<
		Component<Record<string, any>, Record<string, any>>
	>;
};

GitHub でこのページを編集