Я получаю следующую ошибку при использовании useDispatch
ловушки с действиями async
в моем приложении.
Ошибка: действия должны быть простыми объектами.Используйте пользовательское промежуточное ПО для асинхронных действий.
... любое решение?
//my component >>>
const Comp: React.FC<any> = (props) => {
const dispatch = useDispatch();
const subscribers = useSelector((state: any) => state.subscribers.subscribers)
return (
<div>
<h3>Alo Brasil</h3>
<button onClick=
{()=>dispatch(SubscribersTypes.GET_ALL_SUBSCRIBERS_START)}>Get All</button>
</div>
)
}
//my store >>>
const epicMiddleware = createEpicMiddleware();
const composeEnhancers = composeWithDevTools({});
const configureStore = (preloadedState: ApplicationState) =>
createStore(
AppReducer,
preloadedState,
composeEnhancers(
applyMiddleware(
epicMiddleware
)
)
);
const store = configureStore(initialStateApp);
epicMiddleware.run(AppEpic)
//my epic>>
const getAllSubscribersEpic = (action$: any) =>
action$.pipe(
filter(isActionOf(actions.getAllRequestStart)),
switchMap(() =>
from(axios.get(url))
.pipe(
map((response: AxiosResponse) => response.data),
map((data: Array<Subscriber>) => actions.getAllRequestFinish(data)),
catchError(error => of(actions.subscribersError(error)))
)
)
)