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...