Skip to content

isSuccess flashes false on subsequent queries #3353

@kellengreen

Description

@kellengreen

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions