【发布时间】:2022-01-01 18:08:19
【问题描述】:
我有这个用于从 API 获取数据的自定义 React 钩子:
import { useState, useEffect } from 'react';
const API_CHARACTERS = 'https://rickandmortyapi.com/api/character';
export const useFetchData = () => {
const [data, setData] = useState();
const [loading, setLoading] = useState(false);
const [error, setError] = useState(null);
useEffect(() => {
setLoading(true);
fetch(API_CHARACTERS)
.then((response) => response.json())
.then((data) => setData(data))
.catch(() => setError('Data fetching is failed!'))
.finally(() => setLoading(false));
}, [])
return { data, loading, error }
}
为了与正在获取的数据进行交互,我有这个组件
import React from 'react';
import './app.css';
import { useFetchData } from './hooks/useFetch';
function App() {
const { data, loading, error } = useFetchData();
console.log(data)
return (
<div className="App">
</div>
)
}
export default App;
当我试图处理 data 变量时 - 一切都很好。但是当我试图获得类似 data.results 的东西时,我会在下次刷新页面后得到这个: error image
【问题讨论】:
标签: reactjs react-hooks state use-effect use-state