【发布时间】:2019-02-25 10:06:44
【问题描述】:
我最近开始在我的 react 项目中使用 Typescript。 我缺少的一项是键入调度和动作创建者。
我使用自己的操作类型基于:https://redux.js.org/recipes/reducing-boilerplate
我的操作编码如下:
export function getXXX(){
return {
types: [
ActionTypes.GET_XXX,
ActionTypes.GET_XXX_SUCCESS,
ActionTypes.GET_XXX_ERROR
],
request: {
method: 'GET',
url: `/v1/retrievexxx`
}
}
}
我的问题是缺少类型(显然)并且 ReduxAction TS 类型需要一个类型。
有什么办法可以解决这个问题?
【问题讨论】:
-
我个人使用typesafe-actions,但这意味着你需要重写你当前的代码
-
将是一个大规模的重构 :-) ...但是我可以将 baseType GET_XXX 保留为类型,并且只在数组中提供 SUCCESS/ERROR ... 然后我可以使用默认类型键入我的操作...
-
我将成为第二个 typesafe-actions。其中有很多聪明的东西是普通 TS 用户永远无法复制的。
标签: reactjs typescript redux