Slide 10
Slide 10 text
SAGA AS THREADS
…
dispatch('FETCH_TODOS_REQUEST');
return api.get('http://api.com/todos', params)
.then((data) => dispatch('FETCH_TODOS_SUCCESS', data))
.catch((error) => dispatch('FETCH_TODOS_ERROR', error))
…
// to
import { take, call, put } from 'redux-saga/effects'
function * fetchTodos = (params) => {
yield put('FETCH_TODOS_REQUEST')
const { success, data, error } = yield call(api.get, 'url', params)
if (success) {
yield put('FETCH_TODOS_SUCCESS', data); // simplified
} else {
yield put('FETCH_TODOS_ERROR', params) // again simplified
}
}