中等
技术面试0 次浏览

小米的 APP 中存在大量的动态加载列表场景,如商品评论列表。请设计一个前端方案,实现评论列表的无限滚动加载功能,并说明技术原理。

小米前端工程师
前端方案设计无限滚动加载小米 APP

答题要点

本题推荐使用 STAR 法则解答。S(情景):指出小米 APP 商品评论列表数据量大,需无限滚动加载提升用户体验。T(任务):设计前端方案实现该功能。A(行动):关键要点如下:1. 监听滚动事件:使用 `window` 或列表容器的 `scroll` 事件监听滚动情况。2. 判断加载时机:当滚动到底部一定距离时触发加载,可通过 `scrollTop`、`clientHeight` 和 `scrollHeight` 计算。3. 发送请求:使用 `fetch` 或 `XMLHttpRequest` 发送请求获取新数据。4. 渲染数据:将新数据添加到列表中。R(结果):实现流畅的无限滚动加载。示例话术:“在小米 APP 商品评论列表场景下,为解决大数据量展示问题,我监听滚动事件,当滚动到底部合适位置时,使用 `fetch` 请求新评论数据,然后将数据渲染到列表尾部,从而实现无限滚动加载。”