Мутация просто означает, что вам нужно будет иметь возможность изменять положение вещей (переменные, глобальное хранилище и т. Д.), А также вам нужно будет иметь возможность реагировать на то, когда эти вещи изменяются.
Асинхронность означает, чтособытия могут происходить в разное время - вы не можете точно предсказать, когда они произойдут или когда они завершатся.
Следовательно, в приложении, которое должно иметь возможность изменять данные (мутацию) и может иметь эти данныеизменяться асинхронно, все становится сложнее.
Я бы посоветовал вам прочитать больше о редуксе (и вообще о библиотеках, которые способствуют определенному «потоку» мутаций данных).Суть проблемы заключается в том, что если данные могут изменяться в любое время, когда вы изменяете данные напрямую и , они могут изменяться асинхронно (например, через вызовы API для внешних служб), тогда без тщательного обдумывания / использованиябиблиотек и понимания, ваше приложение может превратиться в безобразный беспорядок.