Skip to content

suspense is not working for useQueries #1523

@wenerme

Description

@wenerme

Describe the bug

To Reproduce

const DemoA = () => {
  return (
    <Suspense fallback={'loading'}>
      <Works />
    </Suspense>
  );
};
const DemoB = () => {
  return (
    <Suspense fallback={'loading'}>
      <NotWork />
    </Suspense>
  );
};
const Works: React.FC = () => {
  // status success success success
  console.log(
    'status',
    [1, 2, 3]
      .map(
        (v) =>
          ({
            queryKey: ['users', v],
            queryFn: fetchApi,
            suspense: true,
          } as UseQueryOptions),
      )
      .map(useQuery)
      .map(({ status }) => status),
  );

  return null;
};
const NotWork: React.FC = () => {
  // status loading loading loading
  // status success loading loading
  // status success success loading
  // status success success success
  console.log(
    'status',
    useQueries(
      [1, 2, 3].map(
        (v) =>
          ({
            queryKey: ['users', v],
            queryFn: fetchApi,
            suspense: true,
          } as UseQueryOptions),
      ),
    ).map(({ status }) => status),
  );
  return null;
};

Expected behavior
useQueries should works like the useQuery loop, the result status should be success

Screenshots

Desktop (please complete the following information):

  • OS: macOS
  • Browser: chrome
  • Version: react-query@3.5.5

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingsuspense

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions