| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import { queryFakeList } from '../services/api';
- export default {
- namespace: 'list',
- state: {
- list: [],
- loading: false,
- cursor: 0,
- },
- effects: {
- *fetch({ payload }, { call, put }) {
- yield put({
- type: 'changeLoading',
- payload: true,
- });
- const response = yield call(queryFakeList, payload);
- yield put({
- type: 'appendList',
- payload: Array.isArray(response) ? response : [],
- });
- yield put({
- type: 'changeLoading',
- payload: false,
- });
- },
- },
- reducers: {
- appendList(state, action) {
- return {
- ...state,
- list: state.list.concat(action.payload),
- };
- },
- changeLoading(state, action) {
- return {
- ...state,
- loading: action.payload,
- };
- },
- updateCursor(state, action) {
- return {
- ...state,
- loading: action.payload,
- };
- },
- },
- };
|