Принеси пустую Redux Saga - PullRequest
0 голосов
/ 10 мая 2018

Я только начал изучать Redux Saga 5 минут назад

Моя сага:

import axios from "axios";
import {call, put, takeLatest} from "redux-saga/effects";
import {
    USERS_FETCH_REQUESTED,
    USERS_FETCH_SUCCEEDED,
    USERS_FETCH_FAILED
} from 'actions/constants'

function *fetchUsers(action) {
  try {
    const response = yield call(fetch, 'https://jsonplaceholder.typicode.com/users');
    const data = response.json();
    console.log(data)
    yield put({type: USERS_FETCH_SUCCEEDED, payload: data});
  } catch (e) {
    yield put({type: USERS_FETCH_FAILED, payload: e.message});
  }
}

function* mySaga() {
    yield takeLatest(USERS_FETCH_REQUESTED, fetchUsers);
}

export default mySaga

по какой-то причине полезная нагрузка моего SUCCES_FETCH является просто пустым объектом, НО журнал возвращает 10 10 элементов.

Что я делаю не так?

1 Ответ

0 голосов
/ 10 мая 2018

response.json() возвращает обещание, вам нужно дождаться разрешения, чтобы решить, чтобы добраться до предметов.

const data = yield call([response, 'json']);

Это произведет эффект, который вызывает response.json() и передает результаты обратно в сагу после разрешения обещания.

...