NextJS 和响应式设计

rom*_*a98 5 reactjs material-ui server-side-rendering next.js

我使用 create-react-app 开发了一个相当大的单页应用程序。
我正在将所有内容迁移到 NextJS,主要是出于 SEO 目的。
我在一个问题上摸不着头脑:处理响应式设计的最佳方法是什么?
在我的 create-react-app 遗留代码中,我始终保持组件与 window.innerWidth 同步,并使用它来处理大部分响应能力(由material-ui 处理的网格布局除外)。
但由于我们无法在服务器渲染期间猜测客户端的宽度,那么如何避免 UI 的“闪烁”呢?
我们是否需要延迟任何响应式 UI 逻辑,直到可以在客户端上执行为止?

rom*_*a98 5

解决方案是:
使用 javascript 来处理响应性是不好的做法,如果我们不想浏览器重新流动屏幕上的内容,则应该使用 css。
如果您使用的是material-ui,请查看此页面

  • 这不一定是真的。在某些用例中,由于代码分割,有条件渲染组件可以允许更小的包大小。确实需要权衡,但我不会说这是不好的做法(不再)。您只需要考虑更多事情(例如根据设备类型为服务器上的屏幕/设备宽度赋予值),并注意如果未正确处理 SSR 可能出现的边缘情况。 (9认同)