0

我正在尝试使用swr in实现客户端数据获取nextjs。我可以useSWR在我的桌面浏览器中显示使用钩子获取的数据。然后,我从我的桌面在本地主机上提供该应用程序,并尝试在我的移动浏览器上通过 wi-fi(两个设备在同一网络上)对其进行测试。不显示客户端获取的数据。而是<Error />返回组件。

这可能是什么原因?我还没有真正看到有人在互联网上提出类似的问题

useSWRFetch.js

...
const fetcher = (...args) => axios.get(...args).then(res => res.data)

export const useSWRFetch = (url) => {
  const { data, error } = useSWR(url, fetcher)

  return { data, error }
}

ClientFetchedComponent.js

...
export default function ClientFetchedComponent() {
  const { data, error } = useSWRFetch(`http://localhost:8000/api/category/featured`)

  if (error) return <Error />
  
  return <div>
    { !data ? 
      <Loading /> :
      data.results.map(item => {
        return <div key={item.id}>
          ...
          ...
        </div>
      })
    }
  </div>
}
4

1 回答 1

0

localhost:8000位于 PC 上,移动设备也有自己的 localhost,并且没有运行任何应用程序。

如果您想使用具有相同 WIFI 的另一台设备,请将localhost:8000替换为IPv4 地址。 前(192.168.1.4:8000)

在cmd > ipconfig上找到它

于 2021-09-09T19:39:02.747 回答