Варианты государственного управления в Блейзоре

#redux #blazor #flux #blazor-webassembly #fluxor

Вопрос:

Какие библиотеки/методы доступны в Blazor для управления состоянием для веб-сборки (wasm).

Было бы неплохо знать плюсы и минусы различных подходов.

Ответ №1:

Redux (Флюксор)

Шаблон Redux/Flux стал лидером в области управления состоянием в JS word; поэтому было бы разумно перенять эту передовую практику.

К счастью, уже существует библиотека Fluxor, которая делает именно это; и в ней действительно больше всего звезд github 379 ; хотя это все еще относительно новая область; так что еще предстоит выяснить, какой подход окажется наиболее приемлемым в дальнейшем.

Есть отличное вступительное видео вместе с исходным кодом

Официальные документы:

  • Состояние, действия и редукторы
  • Эффекты
  • Инструменты разработки Redux

Подробная статья.

Блейзор-Штат

Блейзор-Штат

Плюсы: использует MediatR для обмена сообщениями

Смотрите также

Обзор подходов к государственному управлению

https://chrissainty.com/mobile-blazor-bindings-state-management-and-data/

https://jonhilton.net/blazor-state-management/

https://docs.microsoft.com/en-us/aspnet/core/blazor/state-management

приятные, но в основном сообщения: https://jasonwatmore.com/post/2020/07/30/aspnet-core-blazor-webassembly-communication-between-components

ключевые слова: передача данных между компонентами веб-сборки blazor wasm, обработка событий дочерних родительских атрибутов

Ответ №2:

Приложение Blazor — это приложение на C# поверх библиотек .Net BCL. Нам не нужно подражать тому, что создал мир JavaScript, чтобы преодолеть свои собственные недостатки. C# может кэшировать все, что вы хотите, с помощью статических элементов.

Комментарии:

1. У меня было довольно много людей, которые злились на меня, когда я говорил им, чтобы они занимались Блейзори в Блейзоре.

2. Если бы вы могли привести пример того, как этот метод использования статических элементов для управления состоянием позволяет выполнить то, что желает ОП (или указать на некоторую документацию или руководство по этому вопросу) Я был бы вам очень признателен, спасибо!

3. Если вы использовали C#, вы использовали статические члены. В blazor он работает так же, как и в любом другом приложении на C#