Объясните Redux: мутация и асинхронность - PullRequest
0 голосов
/ 07 июня 2018

Я не мог понять, что означают приведенные ниже строки на первой странице REDUX https://redux.js.org/introduction/motivation

С этой сложностью трудно справиться, поскольку мы смешиваем две концепции, которые очень трудны длячеловеческий разум рассуждает о: мутации и асинхронности. Я называю их Mentos и Coke.Оба могут быть хороши в разлуке, но вместе они создают беспорядок.Такие библиотеки, как React, пытаются решить эту проблему на уровне представления путем удаления как асинхронности, так и прямой манипуляции с DOM . Однако управление состоянием ваших данных остается за вами .Вот куда входит Redux.

Примечание. Жирным шрифтом выделены жирные линии, которые я смог понять.

1 Ответ

0 голосов
/ 07 июня 2018

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

Асинхронность означает, чтособытия могут происходить в разное время - вы не можете точно предсказать, когда они произойдут или когда они завершатся.

Следовательно, в приложении, которое должно иметь возможность изменять данные (мутацию) и может иметь эти данныеизменяться асинхронно, все становится сложнее.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...