Sveltejs Academy · レッスン

snippetによるRender Props

レンダリングロジックをsnippet propsとして渡し、制御を反転して柔軟性を高めます。

レッスン 1/413 ステップ

「snippetによるRender Props」はCoddyKit上の無料Sveltejs Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSveltejs Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Sveltejs Academyコースには全4レッスンが含まれています。

Render Props パターン

Render props を使うと、親が子にレンダリングロジックを提供できます。Svelte 5 では、スニペットが自然な選択肢です。

スニペットを渡す

親がスニペットを定義し、prop として渡します。

<!-- Parent -->
{#snippet item(thing)}
  <li>{thing.name}</li>
{/snippet}
<List items={data} {item} />

子でレンダリングする

子は各アイテムに対して、引数を指定してスニペットを呼び出します。

<!-- List.svelte -->
let { items, item } = $props();
{#each items as thing}
  {@render item(thing)}
{/each}

制御の反転

このパターンでは制御が反転します。いつレンダリングするかは子が決め、何をレンダリングするかは親が決めます。

再利用性

1 つの List コンポーネントで、商品、ユーザー、投稿など何でもレンダリングできます。

TypeScript

コンパイル時の安全性と IDE の自動補完を得るには、スニペットのパラメーターに型を付けます。

スロットとの比較

スニペットはより強力です。引数を受け取ることができ、条件付きでレンダリングでき、型も付けられます。

従来のパターン: Slot Props

Svelte 4 には slot props(let:thing)がありました。スニペットはこれを一般化して置き換えます。

複数のスニペット

複数のスニペットを渡して、より豊かな UI(header、item、footer)を構成できます。

ヘッドレスコンポーネント

Render props によって、スタイルではなくロジックを提供するヘッドレスコンポーネントライブラリを実現できます。

ユースケース

テーブル、リスト、仮想スクローラー、オートコンプリート、カレンダーなどに適しています。

クイックチェック

Render props はどのような問題を解決しますか?

まとめ

スニペットによる Render props は制御を反転します。親がレンダリングを提供し、子が構造とタイミングを提供します。

無料で開始

AI チューターと学ぶ HTML — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
41
レッスン
163

よくある質問

「snippetによるRender Props」レッスンは無料ですか?

はい。「snippetによるRender Props」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Sveltejs Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Sveltejs Academyコースには全4レッスンが含まれています。

「snippetによるRender Props」で何を学びますか?

レンダリングロジックをsnippet propsとして渡し、制御を反転して柔軟性を高めます。 ブラウザで直接実行するハンズオンコードでSveltejs Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Sveltejs Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSveltejs Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「snippetによるRender Props」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSveltejs Academyレッスンでコードを書いて実行できますか?

はい。すべてのSveltejs Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. snippetによるRender Props
  2. 高階コンポーネント
  3. ヘッドレスUIのBuilderパターン
  4. Contextを使った複合コンポーネント
← Sveltejs Academyに戻る