|
@@ -1,4 +1,4 @@
|
|
|
-import { useState, useCallback } from 'react';
|
|
|
|
|
|
|
+import { useState, useCallback, useEffect } from 'react';
|
|
|
import { Member } from '../types/member';
|
|
import { Member } from '../types/member';
|
|
|
import { fetchMembers as fetchMembersApi, addMember as addMemberApi, updateMember as updateMemberApi, deleteMember as deleteMemberApi } from '../services/memberService';
|
|
import { fetchMembers as fetchMembersApi, addMember as addMemberApi, updateMember as updateMemberApi, deleteMember as deleteMemberApi } from '../services/memberService';
|
|
|
|
|
|
|
@@ -11,6 +11,7 @@ export const useMemberManagement = () => {
|
|
|
try {
|
|
try {
|
|
|
const fetchedMembers = await fetchMembersApi();
|
|
const fetchedMembers = await fetchMembersApi();
|
|
|
setMembers(fetchedMembers);
|
|
setMembers(fetchedMembers);
|
|
|
|
|
+ console.log('Fetched members:', fetchedMembers);
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
console.error('Failed to load members:', error);
|
|
console.error('Failed to load members:', error);
|
|
|
} finally {
|
|
} finally {
|
|
@@ -18,10 +19,14 @@ export const useMemberManagement = () => {
|
|
|
}
|
|
}
|
|
|
}, []);
|
|
}, []);
|
|
|
|
|
|
|
|
|
|
+ useEffect(() => {
|
|
|
|
|
+ fetchMembers();
|
|
|
|
|
+ }, [fetchMembers]);
|
|
|
|
|
+
|
|
|
const addMember = async (member: Omit<Member, 'id'>) => {
|
|
const addMember = async (member: Omit<Member, 'id'>) => {
|
|
|
try {
|
|
try {
|
|
|
await addMemberApi(member);
|
|
await addMemberApi(member);
|
|
|
- await fetchMembers(); // 重新获取会友列表
|
|
|
|
|
|
|
+ await fetchMembers();
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
console.error('Failed to add member:', error);
|
|
console.error('Failed to add member:', error);
|
|
|
throw error;
|
|
throw error;
|
|
@@ -31,7 +36,7 @@ export const useMemberManagement = () => {
|
|
|
const editMember = async (updatedMember: Member) => {
|
|
const editMember = async (updatedMember: Member) => {
|
|
|
try {
|
|
try {
|
|
|
await updateMemberApi(updatedMember);
|
|
await updateMemberApi(updatedMember);
|
|
|
- await fetchMembers(); // 重新获取会友列表
|
|
|
|
|
|
|
+ await fetchMembers();
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
console.error('Failed to update member:', error);
|
|
console.error('Failed to update member:', error);
|
|
|
throw error;
|
|
throw error;
|
|
@@ -41,7 +46,7 @@ export const useMemberManagement = () => {
|
|
|
const deleteMember = async (memberId: string) => {
|
|
const deleteMember = async (memberId: string) => {
|
|
|
try {
|
|
try {
|
|
|
await deleteMemberApi(memberId);
|
|
await deleteMemberApi(memberId);
|
|
|
- await fetchMembers(); // 重新获取会友列表
|
|
|
|
|
|
|
+ await fetchMembers();
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
console.error('Failed to delete member:', error);
|
|
console.error('Failed to delete member:', error);
|
|
|
throw error;
|
|
throw error;
|