React Router重定向到错误的页面

时间:2018-06-18 11:30:53

标签: javascript reactjs react-router-v4

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

每当我在一个页面上,例如“/ banners”,我转到“/ banners / edit / 1234”时,一切都按预期工作。但当我使用浏览器按钮返回“/横幅”时,我被重定向到“/”。当我使用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

1 个答案:

答案 0 :(得分:0)

无论如何要阅读此问题。

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