我有一个外部后端端点,该端点依赖于调用时存在的cookie。我尝试将端点添加到getStaticProps中,但是当然会失败,并给我一个401,因为它在构建时没有cookie。
我可以轻松地使其在客户端调用useSWR进行工作,并且现在我的问题很完美。
A)有什么方法可以使它在getStaticProps上运行? (请记住cookie是由后端生成的。)
B)我可以尝试使用getServerSideProps进行操作,因为那样就可以访问我相信的cookie。通过这样做我会有所收获吗?
C)我是NextJs的新手(是否有许多教程和几个项目,但仍然缺少几个概念)直接使用useSWR而不不使用getServerSideProps或getStaticProps是否有任何缺点?
这是我到目前为止所拥有的
const Component = () => {
const dispatch = useDispatch();
const fetcher = (request) =>
axios(request).then((people) => {
dispatch(setPeople(people.data));
return people.data;
});
const { data, error } = useSWR('/rest/myendpoint', fetcher);
if (error) {
console.log(error);
return <Login />;
}
if (!data) return null;
return <div/> //my component that work is here
}