[RFC] 002 - Pref Mobile 移动端 FOUC #252
arvinxx
started this conversation in
RFC | 特性开发
Replies: 3 comments
-
chat 路由改造效果: https://twitter.com/arvin17x/status/1710860673499177393?s=61&t=ZkWAwVnwODUo0Bew3JG2Kg |
Beta Was this translation helpful? Give feedback.
0 replies
-
Lighthouse Reports #279TOCWelcome Page
Chat Page
Market Page
Settings Page
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
问题
由于我们在移动端和桌面端采用两套完全不同的布局,因此需要通过 JS 来判断布局组件的渲染。
由于当前判断 mobile 采用了 客户端 JS 判断,会导致移动端的 FOUC。
trim.87F9BA4C-BD70-4445-A14D-9E2CDE7A5BBD.MOV
此前在 SSG 下此问题基本无解。
在 SSR 下可以采用 cookie 或者 ua 的方式做判断优化首屏,但仍然会引入两套路由布局组件,导致 js bundle 相对较大。
在切换到app router后,我们可以尝试 rsc 从根本上解决该问题。
思路
将mobile判断从
const { mobile } = useResponsive();
的 client 端判断,换成服务端判断。目前看到比较合适的库是 ua-parser-js ,体验 demo: https://uaparser.js.org/
在服务端中使用的方式:
改造代码
以 welcome 为例 :
当前的实现为
改造后:
待明确点
Beta Was this translation helpful? Give feedback.
All reactions