javascript - React Router 重定向到错误的页面

标签 javascript reactjs react-router-v4

我正在使用 React 和 React Router 构建单页应用程序。

每当我在一个页面上时,例如“/banners”,然后我转到“/banners/edit/1234”,一切都按预期工作。但是当我使用我的浏览器按钮返回到“/banners”时,我被重定向到“/”。当我使用 this.props.history.goBack(); 时也会发生同样的事情。它首先重定向到上一页,然后立即重定向到/。

如何让用户转到“/banner”或上一页?或者这对 React Router 来说是不可能的吗?或者有人建议去哪里看吗?

import React, { Component } from 'react';
import { Switch, Route, Redirect } from 'react-router-dom'
import { PropsRoute } from 'react-router-with-props';
import Grid from '@material-ui/core/Grid';

import Content from './content.js';
import Edit from './edit.js';
import NotFound from './notfound.js';
import New from './new.js';

class Main extends Component {
  render() {
    return(
      <Grid container justify="center">
        <main>
          <Switch>
            <Route exact path="/:type" render={(props) => <Content {...props} tabs={this.props.data} />} />
            <Route exact path="/edit/:type/:id" component={Edit} />
            <Route exact path="/:type/new" component={New} />
            <Redirect exact from="/" to={"/"+this.props.data[0].toLowerCase()} />
            <Route component={NotFound} />
          </Switch>
        </main>
      </Grid>
    )
  }
}

export default Main

最佳答案

无论如何阅读这个问题。

好的,所以问题似乎不是 React-Router 的错。在我的代码中的某个地方,我用一组允许的路由检查了路由。由于某种原因,这错误地重定向了。这样就解释了重定向。

关于javascript - React Router 重定向到错误的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50908527/

相关文章:

javascript - 文件下载后 iframe onload 不执行?

reactjs - React Jest Enzyme - 导入 Markdown 时测试失败

reactjs - 路由不适用于使用 ReactJS 和 reach-router 的打包 Electron 应用程序

javascript - React Router 中的多个可选参数

javascript - 使用 react-router v4 进行路由的问题

javascript - 通过数组javascript搜索和过滤

javascript - 如何使用 Jenkins 在 CI 中的 Cypress 仪表板中填充作者、分支、提交、消息?

javascript - 基于 c3.js 中值的条形图颜色

reactjs - 在 D :\ReactNative\FirstProject 处的项目中缺少包 "metro"

javascript - 链接渲染 React Route v4 中的第一个部分匹配