下面你可以检查代码。我尝试使用ID来识别单个内容和使用标题的链接,
当我控制台记录时参数.title
控制台:Android分页高级代码实验室
但是,
当我尝试控制台日志www.example.com时params.id,
控制台:未定义
我需要访问getStaticProps中的两个参数,以便使用所需的确切数据。
我确实通过传递上下文和使用www.example.com尝试了上下文context.params.id但结果是一样的。
请阅读下面的代码并帮助我!
下面是getStaticPaths的代码:
export async function getStaticPaths(){
const { data } = await client.query({
query: gql`
query {
postContents{
data{
attributes{
post_card{
data{
id
attributes{
TitleForLink
}
}
}
}
}
}
}
`
})
const paths = data.postContents.data.map((item)=> {
return {
params: {
id: item.attributes.post_card.data.id.toString(),
title: item.attributes.post_card.data.attributes.TitleForLink.toString(),
}
}
})
return {
paths,
fallback: false,
}
}
getStaticProps的代码如下:
export async function getStaticProps({params}){
const { data } = await client.query({
query: gql`
query {
postCards{
data{
id
attributes{
post_content{
data{
id
attributes{
Title
Description
}
}
}
}
}
}
}
`
})
console.log(params.id)
return {
props: {
content: data.postCards.data,
}
}
}
1条答案
按热度按时间iszxjhcz1#
getStaticPaths函数应返回一个带有paths参数的对象,该参数确定哪些路径将被预渲染only,如果配置了i18,则可以传递 locale 等附加属性。
因此,您需要在getStaticProps函数中进行另一次提取。