Похоже, то, что вы пытаетесь сделать здесь, это «побочный эффект» (или иногда просто «эффект»).
Побочный эффект - это, по сути, более короткий способ сказать: «Когда X происходит, также выполните Y". В вашем случае «Когда» обновление успешно завершено * также «Показать уведомление» - «Показать уведомление» является побочным эффектом «Успешное обновление».
Поскольку вы, вероятно, не хотите помещать свои логи c для «показа уведомления об успехе» внутри компонента пользовательской формы (поскольку он не является частью пользовательской формы), и вы также не хотите помещать его в ваш редуктор (потому что это не логика редуктора c). Вы хотите поместить его «где-то еще» - вы хотите поместить его в «побочный эффект» .
Есть Есть несколько библиотек, которые могут помочь с этим "эффектом бизнеса", и так как вы используете redux, почему бы не взглянуть на redux-saga ? Обратите внимание: это довольно большая зависимость, некоторые назвали бы это языком сам по себе. Но он очень мощный, особенно если вы создаете свое приложение с учетом этого.
Вы также можете создать свое собственное redux middleware , где вы слушаете действие UPDATE_USER_SUCCESS
, и затем действуйте соответственно - Возможно, вызовите действие пыльника с именем ADD_SUCCESS_NOTICE
wi Это сообщение или что-то подобное, а затем сделать какой-нибудь другой компонент, который где-то извещает об этом - обычно так я и делаю.
Если вы используете функциональные компоненты, то вы также можете использовать useEffect
(и другие хуки), если вы используйте ответные зацепки .
Вы также можете реализовать некоторую обобщенную систему уведомлений c, например, "toasts". Вот учебник для этого .