From 5b1d9b26beb3e90bfef831d979258a781c52e7d4 Mon Sep 17 00:00:00 2001 From: Joshua J <31038284+joshuajaco@users.noreply.github.com> Date: Tue, 18 Mar 2025 17:00:44 +0100 Subject: [PATCH] fix: pass `loadingState` to `useAsyncList`'s `load` function --- packages/@react-stately/data/src/useAsyncList.ts | 3 ++- packages/@react-stately/data/test/useAsyncList.test.js | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/@react-stately/data/src/useAsyncList.ts b/packages/@react-stately/data/src/useAsyncList.ts index 89ec81d698b..f78c6a3f93e 100644 --- a/packages/@react-stately/data/src/useAsyncList.ts +++ b/packages/@react-stately/data/src/useAsyncList.ts @@ -297,7 +297,8 @@ export function useAsyncList(options: AsyncListOptions): As sortDescriptor: action.sortDescriptor ?? data.sortDescriptor, signal: abortController.signal, cursor: action.type === 'loadingMore' ? data.cursor : undefined, - filterText: previousFilterText + filterText: previousFilterText, + loadingState: data.state }); let filterText = response.filterText ?? previousFilterText; diff --git a/packages/@react-stately/data/test/useAsyncList.test.js b/packages/@react-stately/data/test/useAsyncList.test.js index fdfd30640e2..1c98781370d 100644 --- a/packages/@react-stately/data/test/useAsyncList.test.js +++ b/packages/@react-stately/data/test/useAsyncList.test.js @@ -45,6 +45,15 @@ describe('useAsyncList', () => { let {result} = renderHook(() => useAsyncList({load})); expect(load).toHaveBeenCalledTimes(1); + expect(load).toHaveBeenCalledWith({ + cursor: undefined, + filterText: '', + items: [], + loadingState: 'idle', + selectedKeys: new Set(), + signal: expect.any(AbortSignal), + sortDescriptor: undefined + }); let args = load.mock.calls[0][0]; expect(args.items).toEqual([]); expect(args.selectedKeys).toEqual(new Set());