🔥

Тред (Николай Пасынков)


@jsunderhood Что нынше принято использовать для стейтменеджмента, если NgRx выглядит адом а голого Rx с BehaviorSubject не хватает? (Аполло не предлагать, ну или предлагать так, чтобы было не отказаться)
Итак, стейт-менеджмент, и соотственно стейт-менеджмент в ангуляре. twitter.com/DmitryMakhnev/…

Я вообще не очень понимаю зачем в целом нужен стейт в приложении. Возможно я тупой. Это ведь все растет из ваших реакт-редаксов? Куча болерплейта, иммутабельность. Веб-приложению не нужны эти штуки же, если там нет Undo-Redo.

Стейт приложения придумали еще до всего этого. Это URL. Приложение отрисовывает ваши замечательные компонентики в зависимости от адреса, который прописан в браузерной строке.

Все остальное - от лукавого.

Признаю, мне приходилось пощупать в ангуляре кучу этого барахла. Mobx, NgRX, NgXS, Akita. Это все очень страшные вещи. И если вы тащите их в ваше приложение - скорее всего вы что-то делаете не так.

Оооочень редко когда действительно бывает нужна либо по стейт-менеджменту.

Из личных примеров: worldchess.com там мы сделали играбельную доску с NgXS (привет Серега, помаши ручкой)

Совсем недавно добавили в проект Akita, но не потому что стейт-менеджмент, а скорее потому что акита дает удобные сервисы, без лишнего бойлерплейта.

Остальные: mobx - не берите, он неочевидный. NgRX - не берите, он сложный, запутаетесь. NgXS - можно брать, приятный, уточен под ангуляр. Akita - супер, ничего лишнего, дает вам только то что нужно

Не помню кто говорил, и не помню точно, найдите автора сами: стейт-менеджмент делает маленькое приложение сложным, а большое - простым. Так вот, скорее всего ваше приложение - маленькое, а если оно все таки большое - разбивайте его