【发布时间】:2020-06-18 22:45:16
【问题描述】:
开发者,
我决定最终通过我认为是一个简单的项目来学习 React Hooks。我不太清楚如何使用反应钩子重新获取 API。这是我到目前为止的代码。
import React, { useState, useEffect } from "react"
import useFetch from "./utils/getKanya"
const kanye = "https://api.kanye.rest"
const Index = () => {
let [kanyaQuote, setKanyeQuote] = useState(null)
let data = useFetch(kanye)
const getMore = () => {
setKanyeQuote(useFetch(kanye))
}
return (
<>
<h1>Welcome to Next.js!</h1>
<p>Here is a random Kanye West quote:</p>
{!data ? <div>Loading...</div> : <p>{!kanyaQuote ? data : kanyaQuote}</p>}
<button onClick={getMore}>Get new quote</button>
</>
)
}
export default Index
- 我将 kanyeQuote 状态值设为
null - 我获取初始数据
- 我要么显示“正在加载...”,要么显示初始报价
- 我正在尝试设置一个按钮来重新获取 API 并通过 getKanyeQuote (setState) 将数据存储在 kanyeQuote 中
这是我收到的错误Error: Invalid hook call...
如果您能就此提供任何指导,我将不胜感激。
【问题讨论】:
-
所以错误是can't call hooks in callback?
-
请添加getKanya文件
标签: reactjs fetch react-hooks fetch-api