Комментарии 6
Не вижу смысла если честно.
Сценарий из примера из начала статьи в первую очередь должен быть реализован на бэкенде, и там нет проблем чтобы обернуть это в одну транзакцию, а на фронте после этого нужно просто обновить ui. А данный стест менеджер по моему мнению, это попытка перекинуть ответственность с бэкенда на фронт, где это в общем-то и не нужно. Хотя идея прикольная.
Upd: возможно я просто не до конца уловил суть, и есть сценарии где такой транзакционный стейт менеджер необходим, но я такого сценария не вижу
Прикольно получилось. Решал подобную задачу в части управления цепочкой асинхронных функций. Но я тогда пришел к выводу, что усложнять код фоллбеками каждого шага не стоит, потому что проще отменить основную цепочку и начать новую. Ну, у каждого свой кейс. Спасибо за то, что делитесь опытом в любом случае.
Это на беке нужно делать, на клиенте вообще безумие управлять балансом и тд

Когда setState недостаточно: как я написал транзакционный стейт-менеджер на TypeScript