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

标签 javascript reactjs react-router

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

enter image description here

马上开始这一切是如何开始的,这是我在页面上呈现 App 组件的 index.jsx:

// 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);

在我的 App 组件中,路由设置如下:

// 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 时,我也遇到了这个错误:

enter image description here

有些地方显然连接不正确,我对现有不同版本的文档感到有点困惑。非常感谢有关如何修复此问题的建议!

最佳答案

来自React Training :

Routes without a path always match.

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

关于javascript - React-router v4 一次显示多个路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44350506/

相关文章:

javascript - 如何在状态转换前暂停组件的延迟?

javascript - 浏览器中的 JavaScript 应用程序可以使用多少内存?

javascript - 将 HTML 元素设置为可滚动

javascript - 检查变量中的元素在当前 DOM 中是否有引用

reactjs - 后退按钮后 react 路由器 `history` 和 `location` 不匹配

reactjs - React 路由器私有(private)路由/重定向不起作用

javascript - 尝试为列表/表格创建重命名功能

javascript - 有没有办法查看像 alert() 这样的预定义函数的内容?

reactjs - 如何让 MUI Fade 在渲染时淡入淡出?

node.js - 无法使用 eslint-config-airbnb 解析依赖树