2017-07-12 62 views
0

试图建立阵营路由器V4和路径总是返回404路径没有被发现在反应路由器-DOM

我有一个基本设置

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一次我试着/接触,接触

提前

+0

您的服务器在路径'/ contact'上浏览时是否返回客户端代码? –

+0

我不这么认为,看网络我刚刚得到的'<!DOCTYPE HTML> 错误 响应

Cannot GET /contact
' –

+0

你需要让所有的“客户端处理”路线返回同样的事情安排服务器。 –

回答

0

尝试了很多感谢:

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; 

希望这有助于您:)

+0

感谢您的回复,我的App.jsx也需要状态, (我试图提供可能的最小代码:)所以App.js也是从React.Component扩展的并且有一个super(props)等的构造函数,尽管我尝试了使用这个开关,但是它没有工作。 –

+0

:(。对不起,没有帮助你,我正在做一个应用程序使用Route.And我的应用程序使用此代码,然后等待另一个解决方案^^ –