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 动画触发两次

react-router/react-router-dom

React-Router:无法从 / 重定向到 /home

React-Router面试题汇总

vue的router-link