【发布时间】:2019-11-28 18:46:09
【问题描述】:
我在componentDidMount 中将 setState 显示为 true,并且在渲染内部有一个 if(this.state.show == true) return(components...),所以我想要的是当 next.js 完成页面加载时应该显示我的组件。
但由于某种原因,componentdidmount 在页面显示之前被调用,并且组件动画在页面仍在加载时开始。所以当页面实际显示时,用户在它的中间捕捉到我不想要的动画。
我的静态文件夹有很多图像,所以我想接下来是加载它们,这就是为什么它需要很长时间,但为什么在页面完成加载之前调用componentDidMount? (index.js 的 componentDidMount 不是其渲染方法中的组件)
我为组件禁用了 ssr,但它不起作用。我提到的页面没有从数据库中获取任何内容,并且没有使用 getInitialProps。它只是一个 next.js 页面,其渲染方法中有组件。
顺便说一句,我只在生产中注意到这种行为,当应用程序实际部署到远程服务器时,因为加载静态文件夹需要时间。在本地主机上,这种行为并不明显。
【问题讨论】: