【问题标题】:React-router-dom redirect not working in any wayReact-router-dom 重定向无法以任何方式工作
【发布时间】:2023-04-03 18:30:01
【问题描述】:

我尝试了不同的方法来进行重定向。页面仍然在同一条路线上。尽管相同的代码适用于以前的项目,但对我没有任何帮助。使用 react-router-dom v5.2.0

import * as React from 'react';
import { RouteComponentProps, Redirect, withRouter } from 'react-router-dom';
import Login from 'root/pages/Login';
import Page404 from 'root/pages/404'; 

interface RouterProps {
  title: string;
}

const LOGIN = 'login';
const PRODUCTS = 'products';

class Admin extends React.Component<RouteComponentProps<RouterProps>> {

  componentDidMount(): void {
    this.props.history.push('/');
    window.open('/')
  }
  switchRoutes(): JSX.Element {
    const { title } = this.props.match.params;
    switch(title) {
      case LOGIN:
        return <Login />
      case PRODUCTS:
        return <h1>Products</h1>
      default:
        return <Redirect to="/404" />
        //return <Page404 />
    }
  }

  render(): JSX.Element {
    return this.switchRoutes();
  }
}

export default withRouter(Admin);

【问题讨论】:

  • 控制台有错误吗?如果不是重定向,会呈现什么?
  • 最终到达哪条路线,/404?
  • 没有错误。我实际上尝试了不同的路线,没有一个有效
  • 您确定Admin 组件正在被渲染吗?这个组件是如何渲染的?
  • 它正在路由器中渲染。 /login 和 /products 运行良好

标签: javascript reactjs typescript react-router-dom


【解决方案1】:

问题出在“react-static-router”(我们使用的是 SSR)中,因此是配置问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    • 2019-11-25
    • 2021-10-09
    • 2017-09-18
    • 2022-06-24
    • 2019-06-28
    相关资源
    最近更新 更多