Структура моей папки:
|--App
|--Components
|--PageA.js
|--PageB.js
|--PageC.js
|--common-effects
|--useFetching.js
Я выполняю рефакторинг своего кода для извлечения данных из API, используя реакционные перехватчики .Я хочу отправить действие из useEffect в useFetching.js , которое перехватывается промежуточным ПО saga .Действие должно отправляться только тогда, когда компоненты ( PageA , PageB , PageC ) монтируются.
Я использую redux , реаги-редукс и реду-сага .
PageA.js :
function(props) {
useFetching(actionParams)
//....//
}
Аналогичный коддля компонентов PageB и PageC .
Я абстрагировал повторно используемый код для извлечения данных в useFetching
Пользовательский хук .
useFetching.js
const useFetching = actionArgs => {
useEffect( () => {
store.dispatch(action(actionArgs)); // does not work
})
}
Я не знаю, как получить доступ к redux dispatch
в useFetching .Я попробовал это с useReducer
эффектом, но саги пропустили действие.