我有一个动态路由,我试图在 url 中显示标题并将id传递(隐藏)到我的动态路由并id在中使用getStaticProps. 我发现我无法在 nextjs 中轻松传递数据,就像我们过去使用 React Router 或其他客户端路由库传递数据一样。
我正在遵循这个答案,但是当我console.log(context.params)看不到id传递过来的内容时Link,我在这里做错了什么?
// index.js
<Link
href={{
pathname: `/movie/[title]`,
query: {
id: movie.id, // pass the id
},
}}
as={`/movie/${movie.original_title}`}
>
<a>...</a>
</Link>
// [movieId].js
export async function getStaticProps(context) {
console.log(context.params); // return { movieId: 'Mortal Kombat' }
return {
props: { data: "" },
};
}
Run Code Online (Sandbox Code Playgroud) 我有一个正在使用的 Link 组件,并且想要将一个 JavaScript 对象传递到我要链接到的新页面。似乎我可以传递原语,但不能传递对象。
也就是说,我想在下面做这样的事情,但我得到一个与 sessionData 关联的空字符串(session.id 和 session.sessionSlug 工作)。
<Link
href={{
pathname: "/session", query:
{
sessionSlug: this.props.session.sessionSlug,
sessionId: this.props.session.id,
sessionData: this.props.session
}
}}
as={`session/${this.props.session.sessionSlug}`}>
<a>{this.props.session.title}</a>
</Link>
Run Code Online (Sandbox Code Playgroud)