Недавно в Blazor я обнаружил, что использование RenderMode
из ServerPrerendered
в сочетании с вызовом начальных данных в OnInitializedAsync
приводит к тому, что OnInitializedAsync
вызывается дважды. Это вызывает краткое сообщение пользовательского интерфейса fla sh, и, если я не извлекаю данные из кеша, а прямо из базы данных, выполняется дополнительный вызов db, не bueno. Поэтому я переключился на использование OnAfterRenderAsync
и вызов только тогда, когда firstRender
истинно. Это позаботится о дополнительном вызове и не имеет пользовательского интерфейса fla sh, это выглядит лучше. Однако есть краткий момент, когда отображается не вся страница, и я жду ее загрузки. Я бы хотел реализовать полосу загрузки в верхней части страницы, чтобы отображать прогресс загрузки, аналогично тому, что делает YouTube.
Мне было интересно, какие события жизненного цикла происходят с момента нажатия гиперссылки на страницу, которую мне нужно использовать, чтобы это произошло? Я также предполагаю, что мне нужно будет использовать Singleton AppState для отслеживания прогресса загрузки на основе некоторого текущего значения по сравнению с общим значением, чтобы сгенерировать процент выполнения индикатора.
Думаю, я знаю, что делаю, и я Я начинаю пробовать, но мне было интересно, какие еще решения вы, ребята, придумали в Blazor? Есть какие-нибудь советы или предложения?