Redux Promise Middleware似乎处理动作有效负载的承诺解析 . 例如,考虑使用 Promise
作为有效负载的此动作创建者:
export default class ActionCreators {
public static fetchAllUsers(): FetchAction {
return {
type: actionTypes.FETCH_ALL_USERS,
payload: fetch("api.com/users")
};
}
}
使用此动作创建程序时,TypeScript需要 Action
返回的数据,而不是由于redux-promise-middleware实际返回的 Promise
.
所以下面的代码将无法编译,因为 Property 'then' does not exist on type 'Action'.
dispatch(ActionCreators.fetchAllUsers())
.then(response => {
// do something with response
})
Typescript期望返回的属性,如 payload
和 type
,实际上没有返回,因为已经处理了promise并且已经返回了ACTUALLY .
.then
已准备好使用,但typescript将无法编译,因为它需要其他东西 .
我想问题是:如何编写正确的打字来处理redux-promise-middleware操作,同时为 mapDispatchToProps
等正确的调度类型提供redux' connect
-function .
1 回答
您可以使用条件类型 . 例如 .
}