在 next.js 中获取 url 查询参数时遇到问题

IT技术 reactjs next.js
2021-05-19 21:50:02

我只是想在我的 url 中获取参数的值。

我是 next.js 的新手,一般来说还是比较新的。

我的网址看起来像:

localhost:3000/?code=VhXHWwRemC32dPmm3oj0mMravO6MP3

现在,我只是渲染一个页面,如:

const Index = () => {
       const router = useRouter();
       const code = router.query.code;
       console.log(code);
       return(
       <div>
           <p>code: {code}</p>
           <a href={Oauth.discord_login_url}login</a>
           </div>)
        };

只是为了看看我是否从 url 正确获取了代码。

一旦我以不和谐的方式登录,我就会返回索引,然后 url 看起来就像我上面显示的那样。我正在尝试获取代码的value,以便我可以使用它。让我困惑的是

<p>code: {code}</p> 

成功在页面上显示“code”的值。

console.log(code) 

显示未定义。为什么不一样?

1个回答

尝试添加getInitialProps

const Index = () => {
  const router = useRouter();
  const code = router.query.code;
  console.log(code); 

  Index.getInitialProps = async () => {
    return {};
  };

 return ( 
   <div>
     <p>code: {code}</p> 
     <a href={Oauth.discord_login_url}>login</a>
   </div>
  ) 

};