我正在将我的 root reducer 从 javascript 转换为 typescript,但是,我收到一个 linting 错误:
Missing return type on function. (@typescript-eslint/explicit-function-return-type)
我的 root reducer 函数的正确返回类型应该是什么?谢谢。
import { History } from 'history';
import { combineReducers } from 'redux';
import { connectRouter } from 'connected-react-router';
import sampleReducer from './sampleReducer';
export default (historyObject: History) => combineReducers({
sampleReducer,
router: connectRouter(historyObject),
});
最佳答案
您似乎已经设置了规则“Require explicit return types on functions and class methods”并且您需要明确指定函数的返回类型。
结合 reducer return function类型 Reducer<S, A>
, 其中S
代表应用状态。
首先我建议你像下面这样定义应用状态
import { RouterState } from 'connected-react-router';
type AppState = {
sampleReducer: /* type of state, that sampleReducer accepts and returns */;
router: RouterState
}
然后你就可以输入root reducer
import { Reducer } from 'redux';
export default (historyObject: History): Reducer<AppState> => combineReducers({
sampleReducer,
router: connectRouter(historyObject),
});
关于typescript - redux root reducer 的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57085611/