Я использую response-redux для диспетчеризации, и все работает правильно, но я хочу отправить действие в axios interceptors для перехвата ошибок, таких как:
axios.interceptors.response.use(null, (error) => {
const { response } = error;
const message = (response && response.data) || 'Something failed.';
store.dispatch(notificationAdd({ type: errorType, message }));
return Promise.reject(error);
});
Но тип потока вызывает ошибку store.dispatch
:
Cannot instantiate Store because property type is read-only in object type [1]
but writable in object type [2] in type argument A.
14| ▼
[1] 15| const store: Store<State, Actions> = createStore(
16| rootReducer,
17| storeEnhancers(applyMiddleware(sagaMiddleware)),
18| );
flow-typed/npm/redux_v4.x.x.js ▼
[2] 15| declare export type Dispatch<A: { type: $Subtype<string> }> = DispatchAPI<A>;
Мои действия по уведомлению выглядят следующим образом:
type Add = $ReadOnly<{
type: typeof NOTIFICATION_ADDED,
payload: AddPayload,
}>;
export const notificationAdd = (notification: AddPayload): Add => ({
type: NOTIFICATION_ADDED,
payload: notification,
});
Итак, как решить эту проблему?