React Router работает неправильно - PullRequest
4 голосов
/ 16 апреля 2020

У меня есть следующее:

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;

При посещении / тогда Home загружается правильно. При посещении несуществующего маршрута снова загружается Home, но при посещении / о Home вместо AboutUs загружается.

Что странно, если я перемещаю компонент AboutUs, который загружается при посещении / вместо загрузки Home, тогда Работает хорошо

1 Ответ

5 голосов
/ 16 апреля 2020

Вам необходимо использовать точную опору, потому что «/» соответствует любому маршруту, начинающемуся с «/», что в основном и все. https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/api/Route.md#exact -bool

...