Next.js页面路由中getServerSideProps失效,Myquery输出undefined
Next.js 13.4.19页面路由getServerSideProps不生效问题修复
你的问题根源在于getServerSideProps返回的props结构和组件接收的参数不匹配,具体修复方案如下:
调整getServerSideProps的返回结构:你当前直接把query对象作为props返回,组件里却尝试解构
Myquery这个键,但query对象本身并没有这个键,所以会拿到undefined。需要把query包装在Myquery键下返回:import React from 'react'; function MovieDetails({ Myquery }) { console.log(Myquery) return <h1>Movie Details</h1> } export async function getServerSideProps({ query }) { // 将query包装到Myquery键中返回 return { props: { Myquery: query }, } } export default MovieDetails;确认URL查询参数存在:访问页面时要确保URL带有查询参数(比如
/movie-details?id=123),如果没有参数,Myquery会是空对象,但不会是undefined。验证页面位置:确保你的组件文件放在
pages目录下(页面路由的要求),如果误放在app目录下,getServerSideProps不会生效。
内容的提问来源于stack exchange,提问作者CYL TECH
相关产品推荐
相关产品推荐

