title: RTK query `use*Query` is using cached isLoading and data even for different args
body: <p>I'm new to RTK query and I'm having issues with it sharing data across queries with different args.</p>
  <pre><code>// api.js
  const { useGetStuffQuery } = api.injectEndpoints({
    endpoints: (builder) =&gt; ({
      getStuff: builder.query({
        query: (stuffId) =&gt; ({ url: `http://some.random-url.com/${stuffId}` }),
      }),
    }),
  });
  
  // component.js
  function(props) {
    const [id, setId] = useState(1);
    const { data, isLoading } = useGetStuffQuery(id);
  
    if (val === '2') {
      console.log('datttt', data); // this initially prints data from id:1
    }
  
    return &lt;div&gt;
        &lt;input value={id} onChange={(e) =&gt; setId(e.target.value)} /&gt;
        {
          isLoading ? &lt;span&gt;loading...&lt;/span&gt;
                    : &lt;span&gt;data is: {data}&lt;/span&gt;
        }
  
    &lt;/div&gt;
  }
  </code></pre>
  <p>I was expecting to see the loading indicator to show up once I changed the id from 1 to 2.</p>
  <p>However, it seems like rtkQuery is still using the cached data from my previous <code>useGetStuffQuery(1)</code> call and hence I see the data for id1 momentarily. Once the request for id2 is resolved -- it does update and rerender my component.</p>
  <p>Is this caching behavior intentional and expected? Or am I missing something?</p>