Ваш код должен выглядеть примерно так:
@inject HttpClient Http
@if (gamesList == null)
{
<p><em>Loading...</em></p>
}
else
{
<table class="table">
<thead>
<tr>
<th>Title</th>
<th>Genre</th>
<th>Price</th>
</tr>
</thead>
<tbody>
@foreach (var game in gamesList)
{
<tr>
<td>@game.Title</td>
<td>@game.Genre</td>
<td>@game.Price</td>
</tr>
}
</tbody>
</table>
}
@code {
private GameData[] gamesList;
protected override async Task OnInitializedAsync()
{
gamesList = await Http.GetFromJsonAsync<GameData[]>
("gamedata");
}
}
Также убедитесь, что этот код есть в вашей программе. Основной метод:
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("app");
builder.Services.AddTransient(sp => new HttpClient { BaseAddress =
new Uri(builder.HostEnvironment.BaseAddress) });
await builder.Build().RunAsync();
Примечание. быть несколько причин этой ошибки. Я склонен полагать, что это связано с тем, что не проверяется, имеет ли значение gamesList значение null, как это происходит при визуализации таблицы. Важно понимать, что когда вы вызываете метод OnInitialisedAsyn c, управление передается вызывающему коду (каркасу), который начинает визуализацию таблицы до того, как ваш метод asyn c возвращается, что означает, что gamesList все еще равен нулю, вызывая исключение.
Надеюсь, это работает ...