I'm building a pretty simple app so far that is using Node/Express server with basic API and React front end. 

In Node/Express I'm using Passport so users can log in with Google which works 100%. However, only when using an `<a>` tag.

If I implement with `<NavLink>` or `<Link>` the address bar shows the updated URL `/auth/google`, but it does not trigger the flow.

Is there some gotchas in the react-router-dom lib in this case?

**Node/Express: authRoutes.js**

```
const passport = require("passport");

module.exports = app => {
  app.get(
    "/auth/google",
    passport.authenticate("google", {
      scope: ["profile", "email"]
    })
  );

  app.get(
    "/auth/google/callback",
    passport.authenticate("google"),
    (req, res) => {
      res.redirect("/surveys");
    }
  );

  app.get("/api/logout", (req, res) => {
    req.logout();
    res.send(req.user);
  });

  app.get("/api/current_user", (req, res) => {
    res.send(req.user);
  });
};

```

**React client: setupProxy.js**

```
const proxy = require("http-proxy-middleware");

module.exports = function(app) {
  app.use(proxy(["/api", "/auth/google"], { target: "http://localhost:5000" }));
};

```

`<NavLink>` and `<Link>` do not work for any of these routes that are directly accessed by the user: '/auth/google', '/api/current\_user' or '/api/logout.' But when I use an `<a>` they all work perfectly fine.