提问者:小点点

在路由器dom中找不到路径


尝试设置React路由器V4,路径总是返回404

我有一个基本的设置

index.jsx 

    import React from 'react';
    import ReactDOM from 'react-dom';
    import App from './components/App';


    ReactDOM.render(
        <App/>,
      document.getElementById('app')
    );

App.jsx 

    import { BrowserRouter as Router, Route} from 'react-router-dom';
    import Content from './Content';
    import Contact from './Contact';

    render () {

        return (
          <div>
              <Router>
                <div>
                <Route path='/' component={Content} />
                <Route path='/contact' component={Contact} />
                </div>
              </Router>
            </div>
            )
        }

both components are basic react components 

Content.jsx / Contact is the same just different class name of Contact

    import "../css/content.css";

    import React from 'react';

    export default class Content extends React.Component {
        render(){
            return (
                <div id="content">
                    <div className="inner">
                        <div className="bgWrap">
                            <h2>Welcome</h2>
                            <p>Hey</p>

                        </div>
                    </div>
                </div>
            );
        }
    }

内容组件在上工作http://localhost:8080但一旦我尝试/联系,我就会得到404

非常感谢提前


共2个答案

匿名用户

尝试:

App.jsx 

import {Switch as RouterSwitch, Route} from 'react-router-dom';
import Content from './Content';
import Contact from './Contact';

const App=()=> (
          <RouterSwitch>        
            <Route path='/' component={Content} />
            <Route path='/contact' component={Contact} />         
          </RouterSwitch>
        );

export default App;

希望对你有帮助:)

匿名用户

感谢Davin Tryon在评论中,为了解决我的问题,我需要配置webpack-dev-server以返回所有客户端路由,在我的情况下index.html,我将使用路由器来处理我的404如何告诉webpack开发服务器为任何路由提供index.html