Redux Thunk 共享异步对象

HknLof

如果我有以下 thunk:

function postReq(body) {
  return dispatch =>
    superagent.post("/files")
              .then(response => dispatch(actionCreator(response)));
}

我将如何与我的代码库的其他部分共享超级代理请求对象?我会将它传递给 actionCreate 并将其放入商店吗?

我想中止对某些事件的请求,这就是我寻找这个的原因。

编辑为手头的问题提供更多背景信息。当用户上传文件时,他可以选择中止上传。当我在 thunk 中创建超级代理请求时,我需要传递请求对象才能调用superagent.abort().

恩里克·德夫

好吧,首先我想向您介绍一些 ES6 特性,它们将使您的代码更具可读性。现在你有:

function postReq(body) {
  return dispatch =>
    superagent.post("/files")
              .then(response => dispatch(actionCreator(response)));
}

首先,您可以使用 ES6 分两步使您的函数更具可读性:

步骤1

更新您的动作创建者以存储在成本变量中:

const postReq = (body) => {
      return dispatch =>
        superagent.post("/files")
                  .then(response => dispatch(actionCreator(response)));
}

第2步

您的函数正在返回一个函数,因此您可以通过隐式返回使其更短且更具可读性:

const postReq = (body) => (dispatch) => {
            superagent.post("/files")
                      .then(response => dispatch(actionCreator(response)));
}

现在,回答你可以尝试做他们在这里公开的事情:https : //github.com/reactjs/redux/issues/1461#issuecomment-190165193

适用于您的案例的内容类似于:

const postReq = (body) => (dispatch) => {
       superagent.post("/files")
                  .then(response => dispatch(actionCreator(response)));

      const abort = superagent.abort.bind(superagent)
      return { abort }       
}

我自己从未这样做过,但据我所知,它将 abort 方法绑定到一个将返回的变量,并执行存储在那里的函数将调用 postReq 上下文中的 abort 方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Redux Thunk和异步操作

来自分类Dev

Redux Thunk-异步,与Promises链接的动作

来自分类Dev

Redux Thunk:动作必须是普通对象

来自分类Dev

异步初始状态React-Redux Redux-Thunk

来自分类Dev

使用redux-thunk取消先前的异步操作

来自分类Dev

Redux-thunk 异步调用和状态

来自分类Dev

使用 react native 和 redux 进行异步调用,thunk

来自分类Dev

如何使用 Jest Mock 模块测试 Redux Thunk 异步操作

来自分类Dev

派发Redux-Thunk

来自分类Dev

Redux Thunk 如何实现

来自分类Dev

当使用redux-thunk的异步api调用导致redux道具更改时,不会触发UseEffect

来自分类Dev

安装了redux-thunk的redux动作中的异步功能错误

来自分类Dev

动作必须是普通对象。使用自定义中间件进行异步操作,但我使用的是redux-thunk

来自分类Dev

React-Redux,读取通过redux thunk获取的对象时出现问题

来自分类Dev

React-Redux,读取通过redux thunk获取的对象时出现问题

来自分类Dev

减少redux-thunk样板

来自分类Dev

Redux Thunk Firebase - 获取数组

来自分类Dev

我应如何将“ redux-thunk”用于异步初始状态?(反应/还原)

来自分类Dev

如何在带有thunk的react-redux挂钩中进行异步调用?

来自分类Dev

使用Redux-Thunk与普通异步代码有什么意义?[包含示例]

来自分类Dev

使用自定义异步中间件进行分派 - Redux Thunk - react Router

来自分类Dev

Redux Thunk与Redux定制中间件

来自分类Dev

为什么我的redux应用程序不能在redux-thunk中缓存异步api调用?

来自分类Dev

Redux/Thunk 中的递归函数返回 Promise 对象,而不是常规对象

来自分类Dev

Redux Thunk Action Creator没有被调用

来自分类Dev

派遣Redux Thunk重新渲染React组件

来自分类Dev

Redux thunk-嵌套调度的函数/动作

来自分类Dev

响应redux,thunk满足事件过早发生

来自分类Dev

Redux Thunk操作,axios返回多个值

Related 相关文章

  1. 1

    Redux Thunk和异步操作

  2. 2

    Redux Thunk-异步,与Promises链接的动作

  3. 3

    Redux Thunk:动作必须是普通对象

  4. 4

    异步初始状态React-Redux Redux-Thunk

  5. 5

    使用redux-thunk取消先前的异步操作

  6. 6

    Redux-thunk 异步调用和状态

  7. 7

    使用 react native 和 redux 进行异步调用,thunk

  8. 8

    如何使用 Jest Mock 模块测试 Redux Thunk 异步操作

  9. 9

    派发Redux-Thunk

  10. 10

    Redux Thunk 如何实现

  11. 11

    当使用redux-thunk的异步api调用导致redux道具更改时,不会触发UseEffect

  12. 12

    安装了redux-thunk的redux动作中的异步功能错误

  13. 13

    动作必须是普通对象。使用自定义中间件进行异步操作,但我使用的是redux-thunk

  14. 14

    React-Redux,读取通过redux thunk获取的对象时出现问题

  15. 15

    React-Redux,读取通过redux thunk获取的对象时出现问题

  16. 16

    减少redux-thunk样板

  17. 17

    Redux Thunk Firebase - 获取数组

  18. 18

    我应如何将“ redux-thunk”用于异步初始状态?(反应/还原)

  19. 19

    如何在带有thunk的react-redux挂钩中进行异步调用?

  20. 20

    使用Redux-Thunk与普通异步代码有什么意义?[包含示例]

  21. 21

    使用自定义异步中间件进行分派 - Redux Thunk - react Router

  22. 22

    Redux Thunk与Redux定制中间件

  23. 23

    为什么我的redux应用程序不能在redux-thunk中缓存异步api调用?

  24. 24

    Redux/Thunk 中的递归函数返回 Promise 对象,而不是常规对象

  25. 25

    Redux Thunk Action Creator没有被调用

  26. 26

    派遣Redux Thunk重新渲染React组件

  27. 27

    Redux thunk-嵌套调度的函数/动作

  28. 28

    响应redux,thunk满足事件过早发生

  29. 29

    Redux Thunk操作,axios返回多个值

热门标签

归档