我有一个使用 React Router 4 的 React 应用程序。登录模式用于验证用户。为了支持我已经给出的 UX 要求,我需要让后退按钮关闭模态。
我能够使用简单的推送状态完成支持此操作的登录模式:
const {history,location} = this.props
const nextState = {showLogin: true}
history.push({...location, state: {...location.state, ...nextState}})
行为按预期工作。但是......如果按下前进按钮没有重新打开模态,那将是理想的。
我没有看到用反应路由器弹出历史记录的方法。但我想要做的是听取路线变化,如果 location.state 更改回 showLogin 模式是假的,但位置是相同的,它会弹出以前的位置关闭历史记录。
1 回答
使用
history.replace('')
代替history.push('')
,而 back.This 方式,现有的登录路由,将从历史堆栈中替换