首页 > 解决方案 > SWR 不返回任何数据

问题描述

我正试图让 SWR 工作。当我将它应用于我的代码时,我发现的每个示例似乎都不起作用。我不确定我做错了什么代码似乎是相同的,我确定我看不到的超级简单的东西。

我有一个样板 next.js 应用程序。

index.js有;

import useSWR from 'swr'

export default function Home({ isConnected }) {
  const { data, error } = useSWR('/api/')
  return() //jsx here
}

当我启动开发服务器时,它告诉我 http://localhost:3000 是可以查看开发服务器的位置。当我在返回线上调试和暂停时,它告诉我data并且error未定义。当我去时,http://localhost:3000/api/我得到了格式良好的 json(firefox 将其呈现为 json)。

标签: javascriptnext.jsswr

解决方案


您需要一种方法来发出请求,对于您的情况,它可能类似于:

import useSWR from 'swr'
import axios from 'axios';

export default function Home({ isConnected }) {
  const fetcher = async () => {
     return await axios.get('http://mipage/some/');
  };
  const { data, error } = useSWR('/api/', fetcher)
  return() //jsx here
}

推荐阅读