UseSWR 挂钩在 nextjs 组件中不起作用
The UseSWR hook not working in nextjs component
我正在尝试使用 useSWR 挂钩从 API 中获取数据。
API 和请求工作正常,但数据永远不会更新。
这是代码:
import useSWR from 'swr'
import { SERVER_URL } from '../config';
import axios from 'axios'
const fetcher = url => axios.get(url).then(res => res.data)
export default function MainPageView() {
const { routines, error } = useSWR(`${SERVER_URL}/api/routines`, fetcher, { refreshInterval: 1000 })
return (...The rest of the component)
在里面使用routines
的时候我是这样称呼的{routines?routines:[]}
感谢您的帮助,对不起我的英语:)
已编辑:
我还会提到,如果我使用 F12 检查页面并转到网络选项卡,我确实看到正在发送和接收的请求以及所需的数据( 响应状态为 304)但是它从不更新 routines
变量。
useSWR
hook returns 3 种状态 data, loading and error
尝试这样的事情
const { data, error } = useSWR(`${SERVER_URL}/api/routines`, fetcher, { refreshInterval: 1000 })
使用数据
{data?.properties?.map((item)=>...) }
尝试使用const { data: routines, error } = useSWR(...),fetcher函数返回的数据在数据属性
中可用
答案由juliomalves
给出
我正在尝试使用 useSWR 挂钩从 API 中获取数据。
API 和请求工作正常,但数据永远不会更新。 这是代码:
import useSWR from 'swr'
import { SERVER_URL } from '../config';
import axios from 'axios'
const fetcher = url => axios.get(url).then(res => res.data)
export default function MainPageView() {
const { routines, error } = useSWR(`${SERVER_URL}/api/routines`, fetcher, { refreshInterval: 1000 })
return (...The rest of the component)
在里面使用routines
的时候我是这样称呼的{routines?routines:[]}
感谢您的帮助,对不起我的英语:)
已编辑:
我还会提到,如果我使用 F12 检查页面并转到网络选项卡,我确实看到正在发送和接收的请求以及所需的数据( 响应状态为 304)但是它从不更新 routines
变量。
useSWR
hook returns 3 种状态 data, loading and error
尝试这样的事情
const { data, error } = useSWR(`${SERVER_URL}/api/routines`, fetcher, { refreshInterval: 1000 })
使用数据
{data?.properties?.map((item)=>...) }
尝试使用const { data: routines, error } = useSWR(...),fetcher函数返回的数据在数据属性
中可用答案由juliomalves
给出