React 自定义钩子第三方请求 (Fetch第三方数据)
基础版
import React, {
useState, useEffect } from 'react';
const useFetch = url => {
// 返回值, 加载状态, 错误值
const [response, setResponse] = useState(null);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
// 处理副作用, useEffect
useEffect(() => {
setLoading(true);
setResponse(null);
setError(null);
fetch(url)
.then(response => response.json())
.then(response => {
setLoading(false);
setResponse(response);
})
.catch(error => {
setLoading(false);
setError