React Router:无法识别位置“/”?

React Router: Location "/" Not Recognized?

我已经让 React Router 正常工作 。今天早上突然间它停止工作了。我正在使用 React Router 5。

我创建了一个小型演示项目来演示异常情况。这是路由器:

import React from 'react'
import {Route, Router, Switch} from 'react-router';
import {Link} from 'react-router-dom'
import History from 'history';

const browserHistory = History.createBrowserHistory();
console.log(browserHistory.location);

export function App() {
    return (
        <Router history={browserHistory}>
            <Switch>
                <Route path="/" render={(routeProps) =>
                    <Link to={"/"}>Home</Link>
                }/>
                <Route render={(routeProps) =>
                    <Link to={"/"}>It's the same location ("/"). Why did I go to a different route?</Link>
                 }/>
            </Switch>
        </Router>
    )
}

点击“主页”,应该会重新显示主页...但事实并非如此。

Here's a dropbox link to download the tiny demo app。 Meteor 是构建工具,所以要 运行 它:

我错过了什么?

好的,我修好了。

而不是:

import {Route, Router, Switch} from 'react-router';
import {Link} from 'react-router-dom'

...必须是:

import {
    BrowserRouter as Router,
    Switch,
    Route,
    Link
} from "react-router-dom";

现在的问题是,为什么它会以第一种方式起作用?我的应用程序多年来一直如此,直到昨天早上它都运行良好。

如果有人能在一两个月内post回答那个问题,我会在这里将其标记为已接受的答案。