title: React Router with array of paths + exact still initializes components when location does not match
body: <p>I am using ReactRouter v5.  We have a setup where there are 2 possible routes to render Component1, and a single route to render Component2.  However, in my test, it is initializing Component 1 unexpectedly.</p>
  
  <pre><code>const UsersRoutes: FC = () =&gt; {
    const location = useLocation();
    console.log(location)
    return (
      &lt;Switch&gt;
        &lt;Route exact path={[routes.admin.users.root, routes.admin.users.import]} &gt;
                  {console.log('hi there i should not log') // I would not expect this to be called}
          &lt;Users /&gt;
        &lt;/Route&gt;
        &lt;Route path={routes.admin.users.user.root()}&gt;
          &lt;UserRoutes /&gt;
        &lt;/Route&gt;
      &lt;/Switch&gt;
    );
  };
  </code></pre>
  
  <p>In my test:</p>
  
  <pre><code>describe('&lt;User /&gt;', () =&gt; {
    test('user root redirects to profile', async () =&gt; {
      const { findByText, history, findByLabelText } = renderWithRouter(
        &lt;UsersRoutes /&gt;,
        {
          route: routes.admin.users.user.root(testId),
        }
      );
  
      expect(history.location.pathname).toEqual(`/admin/users/${testId}/profile`);
      await findByText('profile');
      await findByLabelText('profile');
    });
  });
  </code></pre>
  
  <p>Console output:</p>
  
  <pre><code>console.log src/screens/App/screens/Admin/screens/Users/routes.tsx:9
      actual location hook:  {
        pathname: '/admin/users/123-test',
        search: '',
        hash: '',
        state: undefined,
        key: 'kdljhy'
      }
  
    console.log src/screens/App/screens/Admin/screens/Users/routes.tsx:14
      hi there i should not log
  
    console.log src/screens/App/screens/Admin/screens/Users/routes.tsx:9
      actual location hook:  {
        pathname: '/admin/users/123-test/profile',
        search: '',
        hash: '',
        state: undefined,
        key: 'zdaam2'
      }
  
    console.log src/screens/App/screens/Admin/screens/Users/routes.tsx:14
      hi there i should not log
  </code></pre>
  
  <p>So, how does the <code>exact</code> attribute when using an array of paths matching work?  Is this really expected?  Nothing about the logs of the <code>location</code> indicate that this path should have been matched.</p>