javascript-React-router v4一次显示多个路由

我遇到一个问题,我使用react-router-dom的路由一次显示所有路由.因此,当我渲染我的App组件和包含“路由”的开始时,我看到的是每个路由的页面彼此重叠.所以看起来像这样:

javascript-React-router v4一次显示多个路由

如此一开始,这就是我的index.jsx,它正在页面上呈现App组件:

// Dependencies
import React from 'react';
import ReactDOM from 'react-dom';

// Components
import App from './components/app.jsx';

// Styles
import './index.scss';

const container = document.getElementById('main');

ReactDOM.render(<App />, container);

在我的应用程序组件中,路由设置如下:

// Dependencies
import React from 'react';
import { BrowserRouter as Router, Route, Match, Miss } from 'react-router-dom';

// Components
import Login from './pages/login/login.jsx';
import Home from './pages/home/home.jsx';

// Styles
import './app.scss';

const App = () => {
  return (
    <Router>
      <div>
          <Route exact pattern='/' component={Login}/>
          <Route exact pattern='/home' component={Home}/>
      </div>
    </Router>
  );
};

export default App;

这是我的Login / Home组件(Home组件与替换Login完全相同):

// Dependencies
import React from 'react';

// Styles
import './login.scss';

class Login extends React.Component {
  render() {
    return (
      <div className="content">
        <div className='title'>
            Login Page
        </div>
      </div>
    );
  }
}

export default Login;

我还注意到,当我导航到http:// localhost:9999 / home时,我也收到此错误:

javascript-React-router v4一次显示多个路由

显然是接线错误,对于现有版本不同的文档,我有些困惑.并非常感谢您提供有关如何解决此问题的建议!

解决方法:

React Training开始:

Routes without a path always match.

因此,在您的情况下,两者都将始终匹配,因为您正在使用模式.

上一篇:Javascript-返回Promise对象而不是结果的Axios API调用?


下一篇:javascript-如何使用React-Bootstrap Modal