【发布时间】:2021-11-09 20:56:34
【问题描述】:
我不知道这是否是一个愚蠢的问题,但我正在使用 django api,并且我试图在搜索页面上实现分页,我对 Next.js 非常陌生,我在网上搜索答案但什么也没有,在这里是代码吗,从错误中,它让我相信我不能同时传递“上下文”和“查询:{page = 1}”,或者类似的东西,有什么解决方法吗?
import Video from '../../components/video'
const VideosSearch = ({results: videos, page}) => {
return(
<>
<div>
{videos.length > 0 && videos.map ((video) =>
<Video key={video.id} {...video} />)}
</div>
<button onClick={() => router.push(`/videos?page=${page + 1}`)}> next </button>
</>
)
}
export async function getServerSideProps(context, {query: {page = 1}}){
const start = +page === 1 ? 0 : (+page - 1) * 3
const res = await fetch(`http://localhost:8000/api/videos/?offset=${start}&ordering=-list_date&search=${context.params.query}`)
const json = await res.json()
const videos = json
return{
props: {
results: videos.results,
page: +page
}
}
}
export default VideosSearch
它给了我
TypeError: 无法读取未定义的属性“查询”
哦,顺便说一句,这是来自 /pages/search/[query].js
【问题讨论】:
标签: javascript web next.js