要修复redux-可观察参数'action$'隐式具有'any'类型的问题,可以采取以下步骤:
Observable<Action>
,其中Action是你的action类型。export interface FetchDataAction {
type: 'FETCH_DATA';
payload: {
// 定义payload的类型
};
}
export interface UpdateDataAction {
type: 'UPDATE_DATA';
payload: {
// 定义payload的类型
};
}
// 其他action类型...
import { Action } from 'redux';
import { FetchDataAction, UpdateDataAction } from './actions';
const reducer = (state: State, action: Action) => {
switch (action.type) {
case 'FETCH_DATA':
const fetchDataAction = action as FetchDataAction;
// 处理FETCH_DATA action
break;
case 'UPDATE_DATA':
const updateDataAction = action as UpdateDataAction;
// 处理UPDATE_DATA action
break;
// 其他case...
default:
return state;
}
};
import { Observable } from 'rxjs';
import { Action } from 'redux';
import { FetchDataAction, UpdateDataAction } from './actions';
const epic = (action$: Observable<Action>) => {
return action$.pipe(
// 使用类型断言将action$转换为明确的类型
switchMap((action: Action) => {
switch (action.type) {
case 'FETCH_DATA':
const fetchDataAction = action as FetchDataAction;
// 处理FETCH_DATA action
break;
case 'UPDATE_DATA':
const updateDataAction = action as UpdateDataAction;
// 处理UPDATE_DATA action
break;
// 其他case...
}
})
);
};
通过以上步骤,我们可以修复redux-可观察参数'action$'隐式具有'any'类型的问题,并确保代码中的类型安全性。
领取专属 10元无门槛券
手把手带您无忧上云