#reactjs #redux #redux-thunk
#reactjs #сокращение #сокращение-thunk
Вопрос:
В настоящее время я работаю над проектом, использующим события для обновления других компонентов, которые прослушивают эти события, и пытаюсь преобразовать эти события в действия Redux.
Пример, когда при входе пользователя в систему компоненты прослушивают это событие и вызывают API для обновления его состояния, события запускались в зависимости от того, существует компонент или нет, поэтому с помощью Redux я должен проверить, изменились ли реквизиты или нет внутри компонента, используя componentWillupdate
и оттуда я вызываю API.
Мне нужно знать, является ли это лучшим решением для выполнения подобных действий или есть другой плагин, который я могу использовать?
Ответ №1:
Я бы реорганизовал код, удалив шаблон передачи / прослушивания событий, на что-то более близкое к архитектуре Redux.
Компоненты, которые генерируют события, должны вызывать создателей действий. Эти создатели действий могут вызывать REST API или выполнять другие асинхронные действия (используя, например, redux-thunk) и генерировать ноль, одно или несколько действий для обновления состояния Redux.
С другой стороны, компоненты, которые прослушивают события, должны получать на входе новые данные из состояния Redux и соответствующим образом обновляться. Простой компонент должен изменять свое поведение при изменении его реквизитов, другими словами, при изменении его состояния. В этом случае состояние компонента представляет собой подмножество данных, хранящихся внутри Redux и обновляемых редукторами при отправке новых действий.