【Blazor】 RenderFragmemtの使い方
- RenderFragmentとは?
- RenderFragmentを使ったコンポーネントを作成
- コンポーネントを使ってみる
目次
RenderFragmentとは?

簡単な例を用いて説明します。 例えば、下図のような2つのコンポーネントがあったとします。 このコンポーネントが異なっているのは、AとBの部分なので、赤と青の部分は共通化することができます。 AとBの部分は画面によって異なるので、ページ毎に決める必要があります。 ページ毎に異なる部分を変数として扱うことができるのがRenderFragmentです。
RenderFragmentを使ったコンポーネントを作成

早速ですが、RenderFragmentのコンポーネントを使用したコードを作成していきましょう。
@* RenderFragmentを使用したコンポーネント例 *@
<h3>RenderFragmentComponent</h3>
@* 実装先で内容を決める部分 *@
@ChildContent
@code {
/// <summary>
/// 実装先で指定するページの固有部分
/// </summary>
[Parameter]
public RenderFragment ChildContent{ get; set; }
}
@code部分にRenderFragment型でChildContent(名前は何でもOKです)を宣言します。 その際、[Parameter]のアノテーションを忘れないように注意してください。 宣言できたら、実装先で内容を決めたいレイアウト部分に @ChildContentと書きます。これでRenderFragmentを使ったコンポーネントは完成です。
コンポーネントを使ってみる

このコンポーネントを使って、試しにページ作成してみます。
@* RenderFragmentを使用したコンポーネントの使用例 *@
@page "/renderfragmenttest"
<Blazor_RenderFragment.Components.RenderFragmentComponent>
<ChildContent>
<div>実装先のコンテンツ</div>
</ChildContent>
</Blazor_RenderFragment.Components.RenderFragmentComponent>
先ほど作成したRenderFragmentComponentという子コンポーネントで全体を囲みます。 さらに、その中にパラメータで指定した変数名と同じタグChildContentで囲みます。 ここにページ固有の実装内容を書いていきます。
これで完成になります。それでは実行してみます。
うまく実装できているのが、確認できました。 RenderFragmentを利用すると、コードの再利用性が上がりますので、是非使ってみてください。
この本では、Blazorの基本から高度なテクニックまで、実際のプロジェクトに役立つ知識を網羅しています。 初心者から経験者まで、Blazorを扱うすべての開発者にとっての必読書です。 この記事の執筆者も参考にした「Blazor入門」で、あなたのBlazorスキルを飛躍的に向上させませんか?
合わせて読みたい

gzip形式でデータを圧縮する方法
Blazorでのgzip形式によるデータ圧縮方法を解説。データの圧縮により通信速度の向上や読み込み時間の短縮が期待でき、SEOやUX向上にも寄与。Blazorアプリ側とサーバー側の設定が必要で、特に通信速度や圧縮サイズを優先するか選択可能。Webサーバー設定も取り上げ、Nginxの例を示す。
更新日:2023/09/03

入力インターフェースのバインド方法
この記事では、Blazorを使用したドロップダウン、テキストボックス、チェックボックス、ラジオボタン、スライダーのバインド方法を解説します。ユーザー入力をリアルタイムに反映し、データを動的に更新する方法を詳しく紹介しています。これにより、効率的にインタラクティブなWebアプリケーションを構築できます。
更新日:2023/07/20