typescript - redux 根减速器的返回类型
问题描述
我正在将我的 root reducer 从 javascript 转换为 typescript,但是,我收到一个 linting 错误说:
缺少函数的返回类型。(@typescript-eslint/explicit-function-return-type)
我的根 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),
});
解决方案
似乎您已经设置了“要求函数和类方法显式返回类型”的规则,并且您需要显式指定函数的返回类型。
combineReducer类型的返回函数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),
});
推荐阅读
- html - Css 使子 div 具有 100% 的高度并在必要时可滚动
- amazon-s3 - s3fs - 最大文件大小限制
- shell - 将日期字符串添加到 sh 脚本中的变量
- c# - 如何创建从模型到视图的男性和女性列表
- python - 如何将数组保存到 csv 文件而不将其转换为字符串?
- javascript - 我正在将一个对象转换为该数组,但无法获得由键和数组中的值组成的预期数组,我错在哪里?
- c - 我的 CS50 径流问题代码有什么问题?
- c# - C# XML 如何序列化对象的子集以及序列化的属性子集由配置文件驱动
- r - R:`select()` 不处理列表
- c++ - 从哪里开始部署 C++ 代码?