gpt4 book ai didi

javascript - 如何使用 React Router 在 React 中不闪烁地重定向?

转载 作者:行者123 更新时间:2023-11-29 22:56:04 25 4
gpt4 key购买 nike

我正在使用 React Router 构建一个带有 React 的 SPA,遇到了这个概念性问题。

所以,这是我的 App 组件,它有一个 React Router。

class App extends Component {
render(){
return(
<div className="appwrap">
<Jumbotron></Jumbotron>
<Navbar></Navbar>
<Router>
<Route exact path="/" component={Display}></Route>
<Route exact path="/saved" component={Saved}></Route>
</Router>
<Footer></Footer>
</div>
)
}
}

在我的 Navbar 组件中,有几个简单的函数重定向到 href,这显然会导致页面“闪烁”和刷新。这就是我想要摆脱的(闪烁)。我的导航栏组件就在这里。

class Navbar extends Component {
redirectToSearch = () => {
window.location.href = '/';
}
redirectToSaved = () => {
window.location.href = '/saved';
}
render(){
return (
<div className="navbar">
<div className="navbaropt" onClick={this.redirectToSearch.bind(this)}>search</div>
<div className="navbaropt" onClick={this.redirectToSaved.bind(this)}>saved</div>
</div>
);}
}

最佳答案

我遇到了同样的问题,并在以下帖子中找到了解决方案:Programmatically navigate using react router .

window.location.href 替换为 this.props.navigation.push

将你的函数更新到下面

redirectToSearch = () => this.props.navigation.push('/');

redirectToSaved = () => this.props.navigation.push('/saved');

关于javascript - 如何使用 React Router 在 React 中不闪烁地重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56621629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com