题目
你们的首屏指标不理想,排查发现页面一加载就同步读取钱包状态与余额,并且这些读取阻塞了主要内容渲染。
请说明这类读取应该安排在什么时机,以及服务端渲染与客户端恢复各自负责什么。
考察目标
- 能否区分「首屏可见内容」与「连接后才有的内容」。
- 是否理解钱包状态依赖浏览器环境。
- 能否给出分阶段的加载策略。
考察连接状态读取的时序安排,以及服务端渲染与客户端恢复的分工。
你们的首屏指标不理想,排查发现页面一加载就同步读取钱包状态与余额,并且这些读取阻塞了主要内容渲染。
请说明这类读取应该安排在什么时机,以及服务端渲染与客户端恢复各自负责什么。
provider 通过事件通知连接、账户与链的变化,这些事件只在浏览器环境产生,服务端渲染阶段拿不到。可行的顺序是:先输出与连接无关的静态内容,客户端挂载后读取连接状态,确认连接与链之后再加载账户相关数据。连接状态有多个中间值,用占位渲染中间态可以避免界面在「未连接」与「已连接」之间跳变。
useConnection 的 status 与 isConnecting / isReconnecting / isConnected / isDisconnected 覆盖了连接过程中的多个中间值(依据:wagmi:useConnection §Return Type 的 status、isConnecting / isReconnecting / isConnected / isDisconnected)createConfig 的 ssr 参数用于服务端渲染场景下的状态传递(依据:wagmi:createConfig §Parameters 的 ssr)reconnecting 渲染成「未连接」会造成按钮文案跳变,用骨架或中性占位过渡更稳(依据:工程经验,无规范依据)发现这道题有问题? 反馈此题