首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在pageProps页面中设置Next.js属性?

如何在pageProps页面中设置Next.js属性?
EN

Stack Overflow用户
提问于 2021-04-06 15:50:57
回答 1查看 7.9K关注 0票数 3

考虑到.../pages/_app.js中下面的代码,组件是从当前页面导出的组件。

因此,假设您访问了.../pages/about.js,那么.../pages/about.js中导出的组件将是.../pages/_app.js组件的值。

现在,当您控制台记录pageProps时,将显示一个空对象。

例如,我的问题是如何在.../pages/about.js中设置pageProps值。

.../pages/about.js

代码语言:javascript
运行
复制
const About = () => {
 return <p>About Page</p>
}

export default About

.../pages/_app.js

代码语言:javascript
运行
复制
function MyApp({ Component, pageProps }) {
  return <Component {...pageProps} />
}

export default MyApp
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-06 16:35:02

如何在pageProps页面中设置Next.js属性

当您使用getStaticPropsgetServerSideProps获取数据时,您传递的props可能是api调用中的数据。然后通过props将其传递给您的Page Component。该道具在pageProps中表示为_app.js

在这里的代码中,您没有使用获取getStaticPropsgetServerSideProps的数据,而是以props的形式从函数中传递返回值。所以您将获得空对象作为pageProps

代码语言:javascript
运行
复制
const About = () => {
 return <p>About Page</p>
}

export default About

下面的todos作为道具传递给Page Component。当您在console.log(pageProps)中使用_app.js时,您将得到api call result as pageProps

代码语言:javascript
运行
复制
export default function IndexPage(props) {
  return (
    <div>
      Todos list
      <ul>
        {props.todos.map((todo) => (
          <li key={todo.id}>{todo.title}</li>
        ))}
      </ul>
    </div>
  );
}

export async function getServerSideProps() {
  const todos = await fetch(
    "https://jsonplaceholder.typicode.com/todos"
  ).then((response) => response.json());

  return {
    props: { todos }
  };
}

沙箱连接

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

https://stackoverflow.com/questions/66972049

复制
相关文章

相似问题

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