Next js 在加载页面内容时在顶部显示 0 一秒钟

Posted

技术标签:

【中文标题】Next js 在加载页面内容时在顶部显示 0 一秒钟【英文标题】:Next js shows a 0 at the top for one second on load page content 【发布时间】:2022-01-23 13:24:11 【问题描述】:

在我的 nextjs 应用程序中,当页面加载时,左上角有一瞬间的 0。在该页面中,我使用 getStaticProps 从 Sanity CMS 获取一些数据并返回内容。我注意到,即使我返回一个空分数,也会出现 0。

  return <>Object?.keys(finalContent).length && <></></>;

如果我只返回空分数而不检查

Object?.keys(finalContent).length && 

0 不见了

  return <></>;  // no 0 in the page

有人知道怎么去掉吗?

【问题讨论】:

这能回答你的问题吗? React showing 0 instead of nothing with short-circuit (&&) conditional component 【参考方案1】:

我假设您希望使用Object?.keys(finalContent).length 确保获取数据。显然,对象键长度的 '0' 在这里不算作假值,所以它被呈现为一个值,就像你会说一些任意值/数字,如 7 &amp;&amp; &lt;&gt;&lt;/&gt;

试试这个:

  return <>Object?.keys(finalContent).length != 0 && <></></>;

它将确保表达式算作布尔值

【讨论】:

以上是关于Next js 在加载页面内容时在顶部显示 0 一秒钟的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 在重新加载页面时在单元格顶部显示额外的分隔线

jQuery UI - 如何在加载时在页面顶部显示进度条

vue做的项目每次打开新页面不会显示页面顶部的解决办法

Next.js 在下一页的 getInitialProps 完成加载时保持当前页面处于活动状态并重新渲染

如何在加载模型时在Ember中显示加载模板?

Vue 页面跳转到新页面时, 默认在页面底部,不是顶部