反应路由器未正确路由

Her*_*ord 5 javascript reactjs react-router react-router-dom

我有以下几点:

import React, { Component } from 'react';
import { Switch, Route, Redirect } from 'react-router-dom';
import Header from './layout/Header';
import Home from '../pages/Home';
import AboutUs from '../pages/Aboutus'
import { Layout } from 'antd';

class Main extends Component {

    render() {
        return (
        <Layout className="layout">
            <Header />
            <Switch>
                <Route path='/' component={Home} />
                <Route path='/about' component={AboutUs} />
                <Redirect to='/' />
            </Switch>
        </Layout>)
    };
}

export default Main;
Run Code Online (Sandbox Code Playgroud)

当访问 / 然后主页被正确加载。当访问一条不存在的路线时,Home 会再次加载,但访问 /about 时会加载 Home 而不是 AboutUs。

奇怪的是,如果我在访问/而不是加载主页时移动要加载的 AboutUs 组件,则 AboutUs 运行良好

mat*_*ten 5

你需要使用精确的道具,因为“/”匹配任何以“/”开头的路由,这基本上就是一切。 https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/api/Route.md#exact-bool