首页 > 解决方案 > Next.js 访问 getServerSideProps 方法内的 Page props

问题描述

我将一些属性传递给_app页面上的。

<PageWrapper>
  <Component someProps={someProps} />
  <GlobalCSS />
 </PageWrapper>

是否可以在每个 Page 的 getServerSideProps 方法中访问这些道具?

export const getServerSideProps: GetServerSideProps = async context => {
  const data = await fetchData(someProps); // ??
  
  return { props: { data } };
};

标签: javascriptnext.js

解决方案


假设您有一个demo页面

// ...
export const getServerSideProps = async () => {
  const demo = await fetch('/api/demo');

  return {
    props: {
      demo,
    }
  };
};

在您的其他子组件中的某处您可以访问它

export const MyComponent = () => {
  const { components } = useRouter();

  console.log(components['demo'].props.pageProps);
};

注意力!这是无证和骇人听闻的方式。


推荐阅读