Javascript 只有当用户单击“上一步”时,我如何才能将scroll设置为top false?
每当路线改变时,我使用滚动组件滚动到顶部:Javascript 只有当用户单击“上一步”时,我如何才能将scroll设置为top false?,javascript,reactjs,scroll,react-router,react-router-dom,Javascript,Reactjs,Scroll,React Router,React Router Dom,每当路线改变时,我使用滚动组件滚动到顶部: Scroll.js import { useEffect } from 'react'; import { withRouter } from 'react-router-dom'; function ScrollToTop({ history }) { useEffect(() => { const unlisten = history.listen(() => { window.scrollTo(0, 0);
Scroll.js
import { useEffect } from 'react';
import { withRouter } from 'react-router-dom';
function ScrollToTop({ history }) {
useEffect(() => {
const unlisten = history.listen(() => {
window.scrollTo(0, 0);
});
return () => {
unlisten();
}
}, []);
return (null);
}
export default withRouter(ScrollToTop);
我想实现的是,每当用户在浏览器上单击“上一步”时,滚动到顶部应该不起作用
当用户在浏览器中单击“返回”时,如何将“滚动到顶部”设置为false?您不能检查您的历史记录操作吗?如果它是弹出的,请忽略滚动 差不多
function ScrollToTop({ history }) {
useEffect(() => {
const unlisten = history.listen(() => {
if (history.action !== 'POP') {
window.scrollTo(0, 0);
}
});
return () => {
unlisten();
}
}, []);
return (null);
}
@Jayr你能用一个例子解释一下吗?对不起,删除了旧评论,也许这就是你可以使用的
function ScrollToTop({ history }) {
useEffect(() => {
const unlisten = history.listen(() => {
if (history.action !== 'POP') {
window.scrollTo(0, 0);
}
});
return () => {
unlisten();
}
}, []);
return (null);
}