由于在第一次渲染时我无法获得router.query
我传递的参数,getServerSideProps
如下所示:
export async function getServerSideProps(context) {
return {
props: { params: context.params },
};
}
然后在函数中尝试执行 API 调用,但出现 API 停止错误
API 在未发送 /api/projects/nichole_robel23 响应的情况下解析,这可能会导致请求停止。
这是我的代码:
export default function Project({ params }) {
const { slug } = params;
let [projectData, setProjectData] = useState([]);
let [loading, setLoading] = useState(true);
const { data } = useSWR('http://localhost:3000/api/projects/' + slug);
useEffect(() => {
if (data) {
setProjectData(data.data.project);
setLoading(false);
}
}, [data]);
......
我有全局SWRCofig
如下
<SWRConfig value={{ fetcher: (url) => axios(url).then(r => r.data) }}>
<Layout>
<Component {...pageProps} />
</Layout>
</SWRConfig>
有什么办法可以解决问题吗?