|
|
@@ -1,4 +1,4 @@
|
|
|
-import React, { useState, useEffect } from 'react';
|
|
|
+import React, { useState, useEffect, useCallback } from 'react';
|
|
|
import { Table, Button, message, Modal, Space } from 'antd';
|
|
|
import { deviceApi } from '../api/deviceApi';
|
|
|
import ExcelImportExport from './ExcelImportExport';
|
|
|
@@ -10,11 +10,7 @@ const MemberList = () => {
|
|
|
const [isModalVisible, setIsModalVisible] = useState(false);
|
|
|
const [editingMember, setEditingMember] = useState(null);
|
|
|
|
|
|
- useEffect(() => {
|
|
|
- fetchMembers();
|
|
|
- }, []);
|
|
|
-
|
|
|
- const fetchMembers = async () => {
|
|
|
+ const fetchMembers = useCallback(async () => {
|
|
|
setLoading(true);
|
|
|
try {
|
|
|
const data = await deviceApi.getAllPersons();
|
|
|
@@ -27,7 +23,11 @@ const MemberList = () => {
|
|
|
} finally {
|
|
|
setLoading(false);
|
|
|
}
|
|
|
- };
|
|
|
+ }, []);
|
|
|
+
|
|
|
+ useEffect(() => {
|
|
|
+ fetchMembers();
|
|
|
+ }, [fetchMembers]);
|
|
|
|
|
|
const handleAdd = () => {
|
|
|
setEditingMember(null);
|
|
|
@@ -68,7 +68,7 @@ const MemberList = () => {
|
|
|
message.success('会友添加成功');
|
|
|
}
|
|
|
setIsModalVisible(false);
|
|
|
- fetchMembers();
|
|
|
+ fetchMembers(); // 重新获取会友列表
|
|
|
} catch (error) {
|
|
|
console.error('操作失败', error);
|
|
|
message.error(`操作失败: ${error.message}`);
|