refactor: optimize user fetching logic in UsersPageClient component by using useCallback for fetchUsers function

This commit is contained in:
javayhu 2025-07-11 01:38:54 +08:00
parent 9d4fcbe36d
commit 9711d13804

View File

@ -6,7 +6,7 @@ import type { User } from '@/lib/auth-types';
import { useUsersStore } from '@/stores/users-store';
import type { SortingState } from '@tanstack/react-table';
import { useTranslations } from 'next-intl';
import { useEffect, useState } from 'react';
import { useCallback, useEffect, useState } from 'react';
import { toast } from 'sonner';
export function UsersPageClient() {
@ -22,8 +22,7 @@ export function UsersPageClient() {
]);
const refreshTrigger = useUsersStore((state) => state.refreshTrigger);
useEffect(() => {
const fetchUsers = async () => {
const fetchUsers = useCallback(async () => {
try {
setLoading(true);
const result = await getUsersAction({
@ -50,11 +49,12 @@ export function UsersPageClient() {
} finally {
setLoading(false);
}
};
fetchUsers();
}, [pageIndex, pageSize, search, sorting, refreshTrigger]);
useEffect(() => {
fetchUsers();
}, [fetchUsers]);
return (
<>
<UsersTable