
Вопреки мнению, которое я видел в комментах к статьям о конечных автоматах, я не считаю, что их применение это какой-то "спагетти". Наоборот они позволяют реализовать довольно сложную state transition логику.
Хотя автомат из 100500 стейтов с вложенными и параллельным стейтами, пожалуй, будет слабо читаемым. Но это уже тема для Separation of Concerns - разделения ответственности.
В этой статье я хочу рассмотреть замечательный инструмент XState.
Который позволяет как описывать эти автоматы, так и рисовать в редакторе и визуализировать.