title: How to properly mock useSelector hook to return correct values while testing?
body: <p>I have a function that calls useSelector multiple times upon rendering. In mocking the selector I used:</p>
  <pre><code>jest.spyOn(Redux, 'useSelector').mockReturnValueOnce(data).mockReturnValueOnce(moreData);
  </code></pre>
  <p>This changes the order of how hooks are called in my component. I have also tried creating a mock store and sending that into rendered component in the test as such:</p>
  <pre><code>const state = { userGuid: 'testGuid', user };
  const store = mockStore(state);
  jest.spyOn(Redux, 'useSelector').mockImplementation(() =&gt; store.getState());
  const { getByTestId } = wrappedRender(ProfileScreen, mockProps, { store });
  </code></pre>
  <p>But this wraps the data in an extra object which my component cannot de-structure.</p>
  <p>As of now I cannot find any other way to mock the return values of multiple useSelector calls without changing the order of hooks called. Any help is appreciated.</p>