在NextJs中传递带有请求的Cookie

时间:2020-06-23 00:43:19

标签: reactjs next.js next

我有一个外部后端端点,该端点依赖于调用时存在的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
}

0 个答案:

没有答案