---
# System prepended metadata

title: 'Blazor `InteractiveServerRenderMode(prerender: true)` 時、 `OnInitializedSubAsync` の呼び出し状況 2024-10-30'
tags: [Blazor Server, 'InteractiveServerRenderMode(prerender: true)', MudBlazor, OnInitializedSubAsync, Blazor]

---

---
lang: ja-jp
breaks: true
---
# Blazor `InteractiveServerRenderMode(prerender: true)` 時、 `OnInitializedSubAsync` の呼び出し状況 2024-10-30

## 大前提

> コンポーネントの初期化 (OnInitialized{Async})
> https://learn.microsoft.com/ja-jp/aspnet/core/blazor/components/lifecycle?view=aspnetcore-8.0#component-initialization-oninitializedasync

![image](https://hackmd.io/_uploads/rJXp5gyWJx.png)

![image](https://hackmd.io/_uploads/HJhaceJb1x.png)


## 検証

* URL直打ち：２回呼ばれる。
* メニューからの遷移：１回だけ呼ばれる。
* メニューから他の画面に移動後、戻るボタン：１回だけ呼ばれる。
* `NavigationManager.NavigateTo` で `forceLoad: true` を設定して遷移：２回呼ばれる。
* `NavigationManager.NavigateTo` で `forceLoad: false` を設定して遷移：１回だけ呼ばれる。
* `NavigationManager.NavigateTo` で `forceLoad: true` を設定して遷移後、戻るボタン：２回呼ばれる。
* `NavigationManager.NavigateTo` で `forceLoad: false` を設定して遷移後、戻るボタン：１回だけ呼ばれる。
* 

###### tags: `Blazor` `InteractiveServerRenderMode(prerender: true)` `OnInitializedSubAsync`
