Best practice for React routing

I’m using routerLink mostly…

    <IonApp>
      <IonReactRouter>
        <IonMenu side="start" contentId="main">
          <IonHeader>
            <IonToolbar color="primary">
              <IonTitle>Birthdays AI</IonTitle>
            </IonToolbar>
          </IonHeader>
          <IonContent>
            <IonList>
              <IonMenuToggle>
                <IonItem routerLink="/home">Birthdays</IonItem>
                <IonItem routerLink="/about">About</IonItem>
                <IonItem routerLink="/contact">Contact</IonItem>
                {state.user && (
                  <IonItem button onClick={() => firebase.auth().signOut()}>
                    Logout
                  </IonItem>
                )}
                {!state.user && <IonItem routerLink="/login">Login</IonItem>}
              </IonMenuToggle>
            </IonList>
          </IonContent>
        </IonMenu>

        <IonRouterOutlet id="main">
          <Route path="/home" component={Home} exact />
          <Route path="/birthday/new" component={AddBirthday} exact />
          <Route path="/birthday/edit/:id" component={EditBirthday} exact />
          <Route path="/birthday/:id" component={ViewBirthday} exact />
          <Route path="/account/create" component={CreateAccount} exact />
          <Route path="/login" component={Login} exact />
          <Route path="/about" component={About} exact />
          <Route path="/contact" component={Contact} exact />
          <Redirect exact from="/" to="/home" />
        </IonRouterOutlet>
      </IonReactRouter>
    </IonApp>

I could replace routerLink with onClick={() => history.push('...')} I guess?

Yes I thought that IonRouterOutlet did a switch as well… so the first match only would match?