fix: memoized formattedSuccessRawData and formattedErrorRawData

This commit is contained in:
ValdiANS
2026-04-07 11:54:00 +07:00
parent 981b48acc0
commit 129a3fda44
+22 -14
View File
@@ -566,23 +566,31 @@ const useSelect = <T,>(
setSize(size + 1); setSize(size + 1);
}; };
let formattedSuccessRawData: SuccessApiResponse<T[]> | undefined = undefined;
let formattedErrorRawData: ErrorApiResponse | undefined = undefined;
const latestPagesIndex = pages?.length ? pages.length - 1 : 0; const latestPagesIndex = pages?.length ? pages.length - 1 : 0;
if (isResponseSuccess(pages?.[latestPagesIndex])) { const { formattedSuccessRawData, formattedErrorRawData } = useMemo(() => {
formattedSuccessRawData = { let successData: SuccessApiResponse<T[]> | undefined = undefined;
...pages?.[latestPagesIndex], let errorData: ErrorApiResponse | undefined = undefined;
data:
pages?.flatMap((page) => (isResponseSuccess(page) ? page.data : [])) ??
[],
};
}
if (isResponseError(pages?.[latestPagesIndex])) { if (isResponseSuccess(pages?.[latestPagesIndex])) {
formattedErrorRawData = pages?.[latestPagesIndex]; successData = {
} ...pages![latestPagesIndex],
data:
pages?.flatMap((page) =>
isResponseSuccess(page) ? page.data : []
) ?? [],
};
}
if (isResponseError(pages?.[latestPagesIndex])) {
errorData = pages![latestPagesIndex];
}
return {
formattedSuccessRawData: successData,
formattedErrorRawData: errorData,
};
}, [pages, latestPagesIndex]);
return { return {
inputValue, inputValue,