【问题标题】:React-Router re renders the wrong componentReact-Router 重新渲染错误的组件
【发布时间】:2019-04-23 21:44:52
【问题描述】:

我设置的路线不能正常工作。 他们可能会去组件并提及正确的路由,但是当我手动编写 URL 时,它最终会重新呈现到主页或 localhost:3001/login。 你知道为什么会这样吗? enter image description here

【问题讨论】:

  • 请添加相关代码和Router config
  • 在第二个 if(tihs.props.isAuth) 中,您有两个相同的路径“/”和不同的组件。但是,我不认为这是个问题。

标签: reactjs react-router react-router-dom


【解决方案1】:

您已经定义了相同的路由到两个不同的组件,这可能是问题所在。

<Route exact path="/" component={Charges} />
<Route exact path="/" component={Account} />

顺便说一句,这不是授权路线的理想方式。试试这样的

<Route  path="/account" render={() => (isAuth() ? (<Redirect to="/login"/>) : (<Account />))}/> 

isAuth()在哪里是一个返回布尔值的函数

isAuth() => {this.props.isAuth};

如果 isAuth() 返回 true,这将呈现 Account 组件,否则它将重定向到登录。

看起来你有 &lt;Redirect to="/login"/&gt; 这应该会导致错误。

【讨论】:

  • 仍然没有按应有的方式工作,我遇到了同样的问题
  • @AshrafUthman 我不太明白你在说什么。我希望您在尝试手动导航时被重定向到 /login。我希望您在这里引用的主页是/login。请分享您的代码,不要发布您的代码图片。
猜你喜欢
  • 1970-01-01
  • 2017-05-17
  • 1970-01-01
  • 1970-01-01
  • 2018-10-28
  • 2023-03-08
  • 1970-01-01
  • 2018-09-20
  • 1970-01-01
相关资源
最近更新 更多