Javascript react路由器v4不呈现任何其他路由

Javascript react路由器v4不呈现任何其他路由,javascript,reactjs,react-router,Javascript,Reactjs,React Router,我正在尝试实现react路由器,但问题很少。请查找以下代码: import React from 'react'; import ReactDOM from 'react-dom'; import { App, Home, Signup } from './containers'; import routes from './routes'; import { BrowserRouter , Route } from 'react-router-dom' ReactDOM.render(

我正在尝试实现react路由器,但问题很少。请查找以下代码:

import React from 'react';
import ReactDOM from 'react-dom';
import { App, Home, Signup } from './containers';
import routes from './routes';
import { BrowserRouter , Route } from 'react-router-dom'


ReactDOM.render(
  <BrowserRouter>
    <App>
      <Route path='/' component={Home} />
      <Route path='/signup' component={Signup} />
    </App>
  </BrowserRouter>,
  document.getElementById('app')
);
注册组件和容器的代码如下: 组件:index.js、signuppage.js

import Cheader from './cheader';
import Signuppage from './signuppage';
import Homepage from './homepage';

export {
  Cheader,
  Homepage,
  Signuppage
}

import React from 'react';
import { Grid, Row, Col } from 'react-bootstrap';

const Signuppage = () => (
  <Grid>
    <Row>
      <Col xs={12} sm={12} md={12}>
        This is test
      </Col>
    </Row>
  </Grid>
);

export default Signuppage;
从“/Cheader”导入Cheader;
从“/Signuppage”导入Signuppage;
从“./Homepage”导入主页;
出口{
谢德尔,
主页
信号供应
}
从“React”导入React;
从'react bootstrap'导入{Grid,Row,Col};
const Signuppage=()=>(
这是测试
);
导出默认签名;
容器:index.js、Signup.js

import App from './App';
import Home from './Home';
import Signup from './Signup';

export {
  App,
  Home,
  Signup
}

import React, { Component } from 'react';
import { Signuppage } from '../components';

class Signup extends Component {
  render () {
    return (
      <Signuppage/>
    )
  }
}

export default Signup;
从“/App”导入应用程序;
从“./主页”导入主页;
从“./Signup”导入注册;
出口{
应用程序,
家,
报名
}
从“React”导入React,{Component};
从“../components”导入{Signuppage};
类注册扩展了组件{
渲染(){
返回(
)
}
}
导出默认注册;
它似乎适用于默认路径,但不适用于任何其他路由。我是否缺少任何配置。请注意,我使用的是react路由器v4。有人能告诉我吗


谢谢

您必须向第一条路线添加
精确的

<App>
   <Route exact path='/' component={Home} />
   <Route path='/signup' component={Signup} />
</App>
它在以下方面进行了阐述:

当您尝试直接转到链接时,服务器找不到要注册的文件匹配项

解决方案1:使用HashRouter替换BrowserRouter


解决方案2:使用回退技术来设置服务器,当找不到匹配的文件时,服务器会回退到“/”。

嗨,Kejt,我尝试添加它,但仍然不起作用。快速修复方法是将注册路由组件移到根路由之上,但您是否尝试切换容器并在
/
路径上显示注册组件?是的,我两种方法都试过了,但都不管用。也许我遗漏了什么。那么“/”路径上的注册组件呢?它是否工作?另一件事是,可能您的服务器不支持pushState,您是否使用webpack?您可以共享containers.js吗?看起来你的注册有问题。嗨,温,我添加了注册容器和组件的代码。注册容器正在使用Signuppage组件。
import App from './App';
import Home from './Home';
import Signup from './Signup';

export {
  App,
  Home,
  Signup
}

import React, { Component } from 'react';
import { Signuppage } from '../components';

class Signup extends Component {
  render () {
    return (
      <Signuppage/>
    )
  }
}

export default Signup;
<App>
   <Route exact path='/' component={Home} />
   <Route path='/signup' component={Signup} />
</App>
devServer: {
    port: 3000,
    historyApiFallback: true
  }