-
- Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed
Labels
Description
Given a basic component like the one below, response.isSuccess flashes false on subsequent queries.
Basic Example
import { useState } from "react"; import api from "./api"; export default function App() { const [params, setParams] = useState({ req: 0 }); const response = api.useSearchQuery(params); console.log( `request: ${params.req}\tisFetching: ${response.isFetching}\tisSuccess: ${response.isSuccess}` ); return ( <div> <button disabled={response.isFetching} onClick={() => setParams({ req: params.req + 1 })} > Refresh </button> <pre>{JSON.stringify(response, undefined, 3)}</pre> </div> ); }Current Behavior in Console Log
request: 0 isFetching: true isSuccess: false request: 0 isFetching: true isSuccess: false request: 0 isFetching: false isSuccess: true request: 1 isFetching: true isSuccess: false <-- request: 1 isFetching: true isSuccess: true request: 1 isFetching: false isSuccess: true Expected Behavior in Console Log
Given this quote from the documentation:
isSuccess - When true, indicates that the query has data from a successful request.
I would expect isSuccess to remain true while data is not undefined.
request: 0 isFetching: true isSuccess: false request: 0 isFetching: true isSuccess: false request: 0 isFetching: false isSuccess: true request: 1 isFetching: true isSuccess: true <-- request: 1 isFetching: true isSuccess: true request: 1 isFetching: false isSuccess: true Repo to Reproduce:
https://github.com/kellengreen/rtk