useFetchData.js
新建src/hooks/useFetchData.js
文件
import React, { useCallback, useEffect, useReducer } from 'react';
import fetchRequest from '../utils/fetchRequest';
// 初始状态
let initialState = {
loading: true,
error: false,
refreshing: false,
data: [],
};
// 定义reducer,统一管理状态
const reducer = (state, action) => {
switch (action.type) {
case 'init':
return {
...state,
loading: true,
error: false,
refreshing: fals...