home.social

#state_management — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #state_management, aggregated by home.social.

  1. Scoped Store: Когда useReducer не тянет, а Redux — слишком

    Когда локальный стейт в React-модуле начинает расти - разработчик инстинктивно тянется к useReducer+Context . Это работает, пока не перестаёт: ререндеры везде, провайдеры в елочку, логика размазана. В статье разбираю как этот путь выглядит в реальном продакшне на примере редактора субтитров, и почему паттерн Scoped Store на базе Context+Zustand+useRef решает эту проблему чище и проще.

    habr.com/ru/articles/1034926/

    #react #zustand #context_api #useReducer #useState #state_management #оптимизация_ререндеров #useRef #react_performance #frontend_architecture

  2. Scoped Store: Когда useReducer не тянет, а Redux — слишком

    Когда локальный стейт в React-модуле начинает расти - разработчик инстинктивно тянется к useReducer+Context . Это работает, пока не перестаёт: ререндеры везде, провайдеры в елочку, логика размазана. В статье разбираю как этот путь выглядит в реальном продакшне на примере редактора субтитров, и почему паттерн Scoped Store на базе Context+Zustand+useRef решает эту проблему чище и проще.

    habr.com/ru/articles/1034926/

    #react #zustand #context_api #useReducer #useState #state_management #оптимизация_ререндеров #useRef #react_performance #frontend_architecture

  3. Scoped Store: Когда useReducer не тянет, а Redux — слишком

    Когда локальный стейт в React-модуле начинает расти - разработчик инстинктивно тянется к useReducer+Context . Это работает, пока не перестаёт: ререндеры везде, провайдеры в елочку, логика размазана. В статье разбираю как этот путь выглядит в реальном продакшне на примере редактора субтитров, и почему паттерн Scoped Store на базе Context+Zustand+useRef решает эту проблему чище и проще.

    habr.com/ru/articles/1034926/

    #react #zustand #context_api #useReducer #useState #state_management #оптимизация_ререндеров #useRef #react_performance #frontend_architecture

  4. Вынесение бизнес‑логики из BLoC в use‑cases: прагматичный взгляд на архитектуру Flutter

    Начиная писать Flutter-приложение, для стейт-менеджмента часто хватает простого setState или простого решения, по типу BLoC/Cubit без излишеств. Но с течением жизни проекта ваши блоки могут начать превращаться в god objects. Внутри хендлеров могут находиться и запросы в сервисы, и валидация, и эмиттеры состояния, а для крупной страницы точно одним ивентом не обойдешься. В таких условиях разработка сильно затрудняется, становится сложно поддерживать и масштабировать проект, снижается тестируемость. Это не субъективный опыт — строгая разделенная архитектура повышает гибкость, переиспользуемость и тестируемость кода. BLoC сам по себе — паттерн с отличной дисциплиной потока данных и строгим отделением бизнес‑логики от UI, но стоит немного расслабиться, и он разрастается до god объекта. Цель этой статьи — продемонстрировать, как вынесение бизнес логики в use-cases может помочь вернуть контроль над ViewModel слоем. Это не попытка навязать единственный вариант реализации, а материал про технический компромисс, подтвержденный цифрами и опытом.

    habr.com/ru/articles/1022838/

    #flutter #dart #bloc #чистая_архитектура #use_cases #state_management #архитектура #мобильная_разработка #тестирование #dependency_injection

  5. Реактивная Архитектура: Пишем надежный Optimistic UI на чистом RxJS (Pattern Compensating Transaction)

    Пользователи ненавидят спиннеры. Они хотят видеть лайк сразу после клика. Optimistic UI решает эту проблему, но создает новую: что делать, если сервер вернет ошибку? В императивном коде (Promise/async-await) откат состояния превращается в ад из try/catch и ручных мутаций переменных, порождая Race Conditions. В этой статье я покажу, как реализовать надежный паттерн Compensating Transaction на чистом RxJS . Мы построим архитектуру, где состояние это поток, который невозможно "сломать" частыми кликами или сетевыми сбоями. Никаких if/else, только чистые потоки. Построить реактивный UI

    habr.com/ru/articles/974068/

    #angular #rxjs #typescript #frontend #архитектура #паттерны_проектирования #optimistic_ui #reactive_programming #state_management #best_practices

  6. Найди x: React + MobX + SSR + x = Счастье

    С ростом приложения и увеличением количества зависимостей, мы осознали необходимость в централизованном управлении зависимостями, выходящем за рамки React и MobX. Существующие IoC-контейнеры показались избыточными и тяжеловесными. Поэтому было создано собственное решение . Вы статье вы узнаете, как мы решили уравнение)

    habr.com/ru/articles/880720/

    #dependency_injection #inversion_of_control #di #ioc #react #mobx #ssr #server_side_rendering #state_management