redux saga使用axios,TS里提示类型不匹配

发布于 2022-09-11 17:53:45 字数 390 浏览 22 评论 0

api.tsx

import http from './http'

export default {
  common: {
    login(username: string, password: string) {
      return http.post('/common/login', {
        username,
        password,
      })
    },
}

其中http为axios配置封装后的导出。
然后在saga里写axios请求时无法带上参数。
需要如何写?
图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

春庭雪 2022-09-18 17:53:45

基于 ReduxRedux-Saga 封装的 D.Va 的 Effect 中,返回 Promise 的函数可以直接 yield。如在此例中可写成:

const res = yield api.common.login(defaultState.username, defaultState.password);

所以推测,Redux-Saga 自身应该也是支持的。

不过有个问题是,当前版本的 TypeScript 的 yield 关键词不支持类型推断,在此例中 res 的类型将会是 any。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文