Должен ли я использовать один или несколько типов действий для представления этого асинхронного действия?

Я создаю интерфейс для поисковой системы, где почти все пользовательские действия должны запускать одно и то же асинхронное действие для повторного получения результатов поиска. Например, если пользователь вводит ключевое слово, нам нужно получить/api/search?q=fooи если они позже выберут категорию, которую мы получим/api/search?q=foo&categoryId=bar, У меня изначально были отдельные типы действий дляFETCH_RESULTS, SELECT_CATEGORY, DESELECT_CATEGORYи т. д. Я создал одного создателя асинхронных действий дляFETCH_RESULTS, но остальные синхронны. Чем больше я думаю об этом, тем все они вынуждены пересматривать результаты из серверной части и обновлять состояние приложения на основе ответа от серверной части.

Имеет ли смысл для меня использовать единственного асинхронного создателя действий для каких-либо изменений? Или было бы лучше использовать создателей асинхронных действий для каждого отдельного действия пользователя (выбор ключевого слова, категории или фильтра)?

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

Ответы на вопрос(3)

Ваш ответ на вопрос