sli*_*wp2 4 reactjs redux redux-saga
我从开始redux-saga。我不知道我做错了什么。
webpack编译成功。我的应用可以运行,但是chrome给了我这个错误。
并且调度动作不起作用。
node v6.6.0
saga/Beginning.js:
import { call, put, takeEvery, takeLatest } from 'redux-saga/effects';
//api service
const api = 'http://it-ebooks-api.info/v1';
const service = {};
service.fetchBook = function(query) {
const url = `${api}/search/${query}`;
return fetch(url).then(res => res.json());
};
function* fetchBook(action) {
try {
const books = yield call(service.fetchBook, action.payload.query);
yield put({ type: 'BOOK_FETCH_SUCCEEDED', books });
} catch (e) {
yield put({ type: 'BOOK_FETCH_FAILED', message: e.message });
}
}
function* watchFetchBook() {
yield takeEvery('BOOK_FETCH_REQUESTED', fetchBook);
}
function* watchFetchBook() {
yield takeLatest('BOOK_FETCH_REQUESTED', fetchBook);
}
export default watchFetchBook;
Run Code Online (Sandbox Code Playgroud)
saga/index.js
import { fork } from 'redux-saga/effects';
import Beginning from './Beginning';
export default function* root() {
yield [fork(Beginning)];
}
Run Code Online (Sandbox Code Playgroud)
takeLatest不属于Redux Saga效果(请参阅参考资料),您必须使用导入
import { takeLatest } from 'redux-saga'
Run Code Online (Sandbox Code Playgroud)
代替
import {takeLatest} from 'redux-saga/effects';
Run Code Online (Sandbox Code Playgroud)