From f1a2555731857f2e9793469a71a67ef3d6daf3d1 Mon Sep 17 00:00:00 2001 From: Brian Ingles Date: Mon, 8 May 2023 13:22:28 -0500 Subject: [PATCH] Added comments --- packages/jsapi-components/src/useInitializeViewportData.ts | 3 ++- packages/jsapi-components/src/useViewportData.ts | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/jsapi-components/src/useInitializeViewportData.ts b/packages/jsapi-components/src/useInitializeViewportData.ts index 4af1a433ad..bf6575da4f 100644 --- a/packages/jsapi-components/src/useInitializeViewportData.ts +++ b/packages/jsapi-components/src/useInitializeViewportData.ts @@ -15,7 +15,8 @@ import useTableSize from './useTableSize'; * source table. This is intended for "human" sized tables such as those used in * admin panels. This is not suitable for "machine" scale with millions+ rows. * @param table The table that will be used to determine the list size. - * @returns + * @returns a React Stately ListData object. Note that this object is recreated + * by React Stately on every render. */ export default function useInitializeViewportData( table: Table | TreeTable | null diff --git a/packages/jsapi-components/src/useViewportData.ts b/packages/jsapi-components/src/useViewportData.ts index cc2f83501a..3eeae4d235 100644 --- a/packages/jsapi-components/src/useViewportData.ts +++ b/packages/jsapi-components/src/useViewportData.ts @@ -47,7 +47,10 @@ export interface UseViewportDataResult< * @param table * @param viewportSize * @param viewportPadding - * @returns An object for managing Table viewport state. + * @returns An object for managing Table viewport state. Note that the returned + * object changes on every render due to the `viewportData` not being memoized. + * This is due to the underlying React Stately `useListData` implementation that + * also changes its returned object on every render. */ export default function useViewportData< TItem,