React Router 中的 (replace 和 <Redirect /> ) 有啥区别
Posted
技术标签:
【中文标题】React Router 中的 (replace 和 <Redirect /> ) 有啥区别【英文标题】:What is the difference between (replace & <Redirect /> ) in React RouterReact Router 中的 (replace 和 <Redirect /> ) 有什么区别 【发布时间】:2021-11-10 03:58:15 【问题描述】:在 react-router(重定向)和 props.history.replace 中 他们在做同样的过程,当我按下返回页面时,我没有得到上一页,它们都是一样的,为了解决这个问题,我使用 push ,但为什么它们是一样的(替换 & )
【问题讨论】:
【参考方案1】:将历史视为Stack 数据结构。
TDLR栈是如何工作的以及push和replace的区别
const history = ['/login']
// history.push("/dashboard") ['/login', '/dashboard']
// history.replace('/dashboard') ['/dashboard']
// history.pop() []
【讨论】:
以上是关于React Router 中的 (replace 和 <Redirect /> ) 有啥区别的主要内容,如果未能解决你的问题,请参考以下文章
[react-router] 在history模式中push和replace有什么区别?
Ionic/React/TypeScript,使用 react-router history.push、history.replace 和 history.goBack 动画触发两次