0

我有一个 Next.js 应用程序,该应用程序具有使用 SSG(静态页面生成)的索引页面和在 url 中包含子域的页面。

预期的行为 - 当 url 是hostname.com我想呈现主静态页面,但是当 url 是company1.hostname.com我想用 company1 数据呈现内容。

问题 - 当我首先访问company1.hostname.com时,我得到主要的静态页面,然后决定渲染什么的脚本取决于子域的执行,如果我们有一个子域 - 我们会显示包含子域数据的页面。它导致内容闪烁(首先显示主页然后立即显示子域页面)。

我的主页代码:

const HomePage: NextPage<Props> = ({ content }) => {
  const { attributes } = content;
  const subdomain = getSubdomain();
  return (
    <>
      <SEO />
      <div className="m-auto max-w-7xl">
        {subdomain ? (
          <SubdomainDataComponent subdomain={subdomain} />
        ) : (
          <>
            <MainPage />
          </>
        )}
      </div>
    </>
  );
};

 export const getStaticProps: GetStaticProps = async () => {
   const content = await import(`../content/pages/${'home'}.md`);

   return { props: { content: content.default } };
 };


export default HomePage;  

如何避免页面闪烁?是否可以在 getStaticProps 函数中检索 url 数据(子域、主机名等)?

4

0 回答 0