У меня странное мерцание при входе в мое приложение на стороне сервера Blazor.
Для лучшего пользовательского опыта я реализовал GIF-троббер, но после этого загрузка идет не так быстро, как вы видите сами:
https://shop6.gastroblitz.de/streetchooser
Моя цель состоит в том, чтобы страница отображалась полностью и за один раз sh после завершения загрузки:
некоторые идеи по проблемам производительности ( но я не знаю, как улучшить свои знания ...):
_Host.cs html
App.razor
Здесь я просто начинаю, когда загружаются все данные (см. Оператор if + множество CascadingParameters для обработки изменений данных в подкомпонентах)
<Router AppAssembly="@typeof(Program).Assembly">
<Found Context="routeData">
@if (AppState.StoreData != null &&
AppState.MultiStoreData != null &&
AppState.StoreChooserData != null)
{
<CascadingValue Value="AppState.StoreData" Name="StoreData">
<CascadingValue Value="AppState.MultiStoreData" Name="MultiStoreData">
<CascadingValue Value="AppState.StoreChooserData" Name="StoreChooserData">
<CascadingValue Value="AppState.BasketData" Name="BasketData">
<CascadingValue Value="AppState.CheckoutData" Name="CheckoutData">
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
<GoogleAnalytics TrackingId="@AppState.StoreData?.StoreContainer?.Store?.GoogleAnalyticsId" />
</CascadingValue>
</CascadingValue>
</CascadingValue>
</CascadingValue>
</CascadingValue>
}
else
{
<img class="center" src="/img-dev/ajax-loader.gif" />
}
</Found>
<NotFound>
<LayoutView Layout="@typeof(MainLayout)">
<p>Sorry, there's nothing at this address.</p>
</LayoutView>
</NotFound>
Последний шаг - заданная страница storechooser, которая загружает контент также просто тогда все данные доступны
Думаю, одна проблема заключается в том, что изображения запрошены в моем коде очень поздно и вызывают мерцание ...
Но как можно справиться с этим лучше? Или, возможно, другой вопрос может быть какой-то проблемой.
Надеюсь, вы поняли мою точку зрения.
Заранее спасибо!