首页 > 解决方案 > React Router Dom 在构建时重定向错误

问题描述

目标:到达http://localhost:3000/test.html?test=5

问题:在开发模式下运行和构建之前,我可以访问http://localhost:3000/test.html?test=5就好了。但是,在运行 'react-scripts build' 之后,当导航到http://localhost:3000/test.html?test=5时,页面将重定向到http://localhost:3000/test并带有状态码 301 Moved永久。

应用程序.js

import React from 'react';
import { BrowserRouter as Router, Route, Link } from "react-router-dom";

import Test from "./Test";

function App() {
  return (
    <React.Fragment>
      <Router>
        <Route path="*" component={Test} />
      </Router>
    </React.Fragment>
  );
}

export default App;

测试.js

import React, { Component } from 'react';

class Test extends Component {

  render() {
    return (
      <React.Fragment>
        <h1>{this.props.location.pathname+this.props.location.search}</h1>
      </React.Fragment>
    );
  }
}

export default Test;

我相信这与包含“.html?”的 URL 有关。当我尝试导航到“ http://localhost:3000/test.html/test=5 ”时,它工作得很好,但只要你尝试“ http://localhost:3000/test.html?test= 5 ',它将重定向到' http://localhost:3000/test '

如果有人想测试它,我创建了一个问题的演示。 演示

标签: reactjsbuildreact-router-domreact-scripts

解决方案


推荐阅读