如果在使用 React Router v4 时在 React 中填充了可选参数,是否有办法转到可选组件?

Is there a way to go to an optional components if the optional parameter is populated in React when using React Router v4?

我正在编写一个 React 应用程序,我正在尝试这样做,以便如果提供了可选的参数,即 id,那么它将转到另一个组件,否则转到用户名组件。有什么办法可以做到这一点,当我这样做时,它只有 returns 用户名组件。

    <div>
        <Switch>
            <Route path ="/" exact component={Login}/>
            <Route path ="/name/:username" component={Username}/>
            <Route path ="/name/:username/:id?" component={Id}/>
        </Switch>
    </div>

尝试把Username和Id之间的路由位置倒过来,把/name/:username/:id?放在前面。

编辑: 你最终不需要 ? 来做到这一点。 一个工作示例:https://stackblitz.com/edit/react-routing-example-lhcohu?file=App.js