на котором мы решаем задачу и нам показывается правильно мы ответили или нет, после чего даётся следующая задача, и так по кругу.
Имеется затык с пониманием какие нужны стейты и как их обрабатывать.
Чтобы было понятнее:
* Нам даётся задача для решения (ProgressState)
* Мы вводим ответ (всё ещё ProgressState)
* Нажимаем кнопку «Ответить» (AnswerClickAction)
* В редюсере идёт проверка правильно ли мы ответили или нет (WrongAnswerState или CorrectAnswerState)
* Генерация новой задачи и снова ProgressState
Так, вроде бы, всё довольно просто, но затык в том, что нам необходимо показать пользователю прально он ответил или нет в течении некоторого времени (пусть 5 секунд) и только после этого уже показать новую задачу.
Как это, на ваш взгляд, лучше всего решить?
Пока вижу такой путь: добавить доп. стейты для отображения (некие ShowCorrectAnswer\ShowWrongAnswer) и в UI по таймеру вызвать экшн на новый пример, но кажется чрезмерно многословным.
Возможно это стоит как-то эффектами решить? Хотя это решение кажется ещё более неверным.
Если бы это был MVICore, я бы в постпроцессоре по стейту correct или wrong запускал еще один action типа generateTask, с задержкой нужной.
Обсуждают сегодня