在我的react App中,当我打开一个弹出窗口(它改变了useHistory()的搜索对象)
将搜索的查询参数添加到URL中。(例:www.example.com ?查询=值)
然后当我关闭弹出窗口时,我清除了搜索历史对象:
const history = useHistory();
history.replace({ search: '' });
但是当我关闭弹出窗口并按下后退键后,我必须按两次才能返回。
我想按一下背部,而不是两次。(正常方式)
在打开弹出窗口时使用history.push(...)
或<Link to={{ search: '?query=value' }}>
会在堆栈上创建额外的导航操作,这将导致不得不使用多个history.back()
s。
使用history.replace(...)
更改页面位置,而不是通过<Link to={{ search: '?query=value' }}>
转发用户,然后更改历史记录,从而解决了这个问题。