我在 React 中向状态数组添加新项目时遇到了一个意想不到的问题,这导致更多项目被添加到 DOM。在 Safari 和 Firefox 中,这会导致新的 DOM 项目被添加到折叠下方,我必须向下滚动才能看到新项目。在 Chrome 中,屏幕保持滚动到页面底部,项目添加在上面。这意味着我需要向上滚动才能看到新项目。这显然不是延迟加载或“加载更多”按钮以查看列表中更多博客文章的预期行为。
看这里:https : //codesandbox.io/s/new-leaf-0fnv5?file=/src/App.js
以下是一些其他观察结果:
- 我在另一台装有 Chrome 的 Mac 上尝试了它,它的行为更像 Safari 和 Firefox,但稍微向上滚动,以便在单击“添加更多”之前看到最后一个项目位于折叠下方。
- 鉴于两种浏览器之间的差异,必须有一种方法可以实现更稳定的预期行为。
- 我以前创建过类似的“加载更多”列表,以前从未遇到过这种情况。我也从未在其他实时网站上看到过这种行为,所以很明显我做的一些不同的事情会触发 Chrome 有时会以这种方式行事,我只是不知道是什么。
- 我注意到关于 SO 的一两个类似问题,但没有一个解决为什么在 Chrome 中有时会发生这种情况的问题,但并非总是如此。
关于什么可能影响 Chrome 以这种意想不到的方式行事的任何建议?