首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >向动态路由传递额外数据的Next.js

向动态路由传递额外数据的Next.js
EN

Stack Overflow用户
提问于 2021-10-03 11:24:05
回答 1查看 39关注 0票数 0

我想在我的路由地址中使用电影标题(例如电影/fletch),但随后的getServerSideProps请求需要episode_id。

如何将film.episode_id和film.title都传递给index.js/id/index.js?

代码语言:javascript
运行
复制
Movies.js

<Link 
  href={{
    pathname: `/films/[id]`,
    query: {
      id: film.episode_id
    },
  }}
  as={`/films/${encodeURIComponent(film.title)}`} >
    <a>{film.title}</a>
</Link>
代码语言:javascript
运行
复制
films/[id]/index.js

import {useRouter} from 'next/router'

const movie = () => {
    const router = useRouter();
    console.log(router);  
    const { id } = router.query

    return (
        <div>Movie page for <strong>{id}</strong></div>
    )
}
EN

回答 1

Stack Overflow用户

发布于 2021-10-03 11:30:30

您可以使用context.query来获取链接的查询参数。

代码语言:javascript
运行
复制
// films/[id]/index.js

import PropTypes from 'prop-types'

const Movie = ({ query }) => {
  return (
    <div>Movie page for <strong>{query.id}</strong></div>
  )
}

Movie.propTypes = {
  query: PropTypes.shape({
    id: PropTypes.string,
  })
}

export async function getServerSideProps(context) {
  return {
    props: { query: context.query }
  }
}

export default Movie
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69424383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档