请问next.js在getStaticProps里怎样获取路由参数

在首页进行搜索时,带参跳到搜索页,在搜索页需要知道搜索的内容,然后通过内容进行数据获取,但是在getStaticProps里无法获取路由参数,这时是在node环境里运行的

阅读 8.8k
1 个回答

你要注意,next是分为纯静态渲染和SSR服务端渲染
你使用getStaticProps是开启纯静态渲染,是无法获得动态的路由参数进行解析,除非你使用了动态路径解析。
像你的需求你,需要将数据获取放到getServerSideProps中,而不要使用getStaticProps
这样你可以从中获得context,进而取得路径参数:


 export async function getServerSideProps(context) {
   console.log(context)
   //here,you can fetch data by context.query
   return {
     props: {
      query:context.query    
      }, // will be passed to the page component as props
   }
 }
推荐问题
宣传栏