如何将url,params,headers传递给redux-saga中的call()?

问题描述 投票:1回答:1

有关call()工作的理论在很多网站上都有很好的解释。但是,我没有找到任何用适当的工作实例准确解释的网站。

我写了以下代码:

export function* loadUser() {
    try {
    const user = yield call(getUser);
    yield put({type: 'FETCH_USER_SUCCESS', payload: user});

  } catch(error) {
    yield put({type: 'FETCH_FAILED', error});
  }
}    

在这里,我想发送带有一些参数的'get'请求和一些使用call()的头。但是我不知道如何实现它。如果你有时间,请用适当的工作示例(Codepen或jsFiddle)告诉它。

reactjs redux redux-saga
1个回答
2
投票

如果您阅读Redux Saga文档,您可以看到call接受一个函数和一组参数:

call(fn, ...args)

您可以像这样使用它:

const getUsers = (options) => {
  return axios(options)
}

function *fetchUsers() {
  const users = yield call(getUsers, { method: 'get', url: `https://api.github.com/users` })
  console.log(users)
}

挺直的。

© www.soinside.com 2019 - 2024. All rights reserved.