Skip to content

Commit

Permalink
fix: revert early bailout improvements (#6652)
Browse files Browse the repository at this point in the history
  • Loading branch information
TkDodo committed Jan 5, 2024
1 parent 3fecf71 commit 24719c1
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 6 deletions.
6 changes: 1 addition & 5 deletions packages/query-core/src/queriesObserver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -112,11 +112,7 @@ export class QueriesObserver<
(observer, index) => observer !== prevObservers[index],
)

if (
prevObservers.length === newObservers.length &&
!hasIndexChange &&
newObservers.length > 0
) {
if (prevObservers.length === newObservers.length && !hasIndexChange) {
return
}

Expand Down
24 changes: 23 additions & 1 deletion packages/react-query/src/__tests__/useQueries.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -978,7 +978,7 @@ describe('useQueries', () => {
)
})

it('should not return new instances when called without queries', async () => {
it.skip('should not return new instances when called without queries', async () => {
const key = queryKey()
const ids: Array<number> = []
let resultChanged = 0
Expand Down Expand Up @@ -1027,6 +1027,28 @@ describe('useQueries', () => {
expect(resultChanged).toBe(1)
})

it('should not have infinite render loops with empty queries (#6645)', async () => {
let renderCount = 0

function Page() {
const result = useQueries({
queries: [],
})

React.useEffect(() => {
renderCount++
})

return <div>data: {JSON.stringify(result)}</div>
}

renderWithClient(queryClient, <Page />)

await sleep(10)

expect(renderCount).toBe(1)
})

it('should only call combine with query results', async () => {
const key1 = queryKey()
const key2 = queryKey()
Expand Down

0 comments on commit 24719c1

Please sign in to comment.