ReactRouter v4 - Redirect不适用于Switch

Tom*_*zyk 4 redirect reactjs react-router

我有一个代码:

import React from 'react';
import ReactDOM from 'react-dom';
import Navigation from './Navigation';
import PublicPage from './PublicPage';
import LoginPage from './LoginPage';
import SecuredPage from './SecuredPage';
import {Route, Switch, Redirect, BrowserRouter} from 'react-router-dom';

ReactDOM.render(
    <BrowserRouter>
        <Navigation>
            <Switch>
                <Redirect from='/' to='/public'/>
                <Route path="/public" component={PublicPage}/>
                <Route path="/login" component={LoginPage}/>
                <Route path="/secured" component={SecuredPage}/>
            </Switch>
        </Navigation>
    </BrowserRouter>,
    document.getElementById("react-app")
);
Run Code Online (Sandbox Code Playgroud)

现在我想要路径/重定向到/public路径但不知何故这种配置不起作用.其他路线也会停止渲染.我想我在文档中做了一切

小智 12

交换

<Redirect from='/' to='/public'/>
Run Code Online (Sandbox Code Playgroud)

<Redirect exact from='/' to='/public'/>
Run Code Online (Sandbox Code Playgroud)

因为否则'/'将匹配所有内容,创建一个无限重定向循环