首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么我在getInitialProps中使用参数它们在Next.js中构建时是未定义的

为什么我在getInitialProps中使用参数它们在Next.js中构建时是未定义的
EN

Stack Overflow用户
提问于 2019-12-13 09:58:12
回答 2查看 2.5K关注 0票数 0

我在Next.js中遇到了这个问题。我在getInitialProps中调用API,并将params传递给我的组件,然后当我在mu项目中使用它时,它就可以工作了。但是当我想构建的时候,它给我的错误是paramsundefined

下面是我调用API并将其传递给component的方式:

代码语言:javascript
运行
AI代码解释
复制
import BlogItem from './blogItem'
import axios from 'axios'
import { withRouter } from 'next/router'
import { APIURL, replaceAll } from '../../../components/config'
const Post = (props) => {
  return (

    <BlogItem
      services ={props.services }

    />

  )
}

Post.getInitialProps = async ({ query }) => {
  const id = query.id
  const urlTitle = encodeURI(query.title)
  const services  = null;

  try {
    const response = await axios.get(`${APIURL}getservice`);
    services = response.data.response.posts;
  } catch (err) {
    console.error(err)
  }

  return {
services 
  }
}

export default withRouter(Post)
EN

回答 2

Stack Overflow用户

发布于 2019-12-14 10:32:44

您似乎将服务定义为包含nullconst!整个代码看起来都很好。尝试将const更改为let:

代码语言:javascript
运行
AI代码解释
复制
Post.getInitialProps = async ({ query }) => {
  const id = query.id
  const urlTitle = encodeURI(query.title)
  let services  = null; //this line

  try {
    const response = await axios.get(`${APIURL}getservice`);
    services = response.data.response.posts;
  } catch (err) {
    console.error(err)
  }

  console.log(services) //you should have the data right here

  return {services}
}

例子:看看这个例子。运行它并导航到/about页面:

票数 0
EN

Stack Overflow用户

发布于 2021-05-02 08:26:27

您需要确保您的url参数被传递到服务器上的querystring中,在您的示例中,如下所示:

代码语言:javascript
运行
AI代码解释
复制
server.get('/page/:uid/:id', (req, res) => {
  const mergedQuery = Object.assign({}, req.query, req.params)
  return app.render(req, res, '/page', mergedQuery);
})

这样,您的getInitialProps就可以直接从查询中获取它们,而不管它加载到哪里。

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

https://stackoverflow.com/questions/59320081

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文