Как передать URL, параметры, заголовки для вызова () в Redx-сага? - PullRequest
0 голосов
/ 07 сентября 2018

Теория относительно работы 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).

1 Ответ

0 голосов
/ 07 сентября 2018

Если вы прочитаете документацию 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)
}

Довольно прямо вперед.

...