Skip to content

Commit 956f1a3

Browse files
committed
fix
1 parent 8335f6b commit 956f1a3

2 files changed

Lines changed: 40 additions & 29 deletions

File tree

frontend/src/pages/admin/Kategorije.jsx

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// frontend/src/pages/admin/Kategorije.jsx
22

3-
import { useState, useEffect } from "react";
3+
import { useState, useEffect, useCallback } from "react";
44
import "../../styles/Pages.css";
55

66
export default function Kategorije() {
@@ -13,32 +13,34 @@ export default function Kategorije() {
1313
active: true,
1414
});
1515

16-
useEffect(() => {
17-
let subscribed = true;
16+
const fetchCategories = useCallback(async () => {
17+
try {
18+
const response = await fetch(`${import.meta.env.VITE_API_URL}/api/categories`, {
19+
credentials: "include",
20+
});
21+
const data = await response.json();
22+
setCategories(Array.isArray(data) ? data : []);
23+
setLoading(false);
24+
} catch (error) {
25+
console.error("Error fetching categories:", error);
26+
setCategories([]);
27+
setLoading(false);
28+
}
29+
}, []);
1830

19-
(async () => {
20-
try {
21-
const response = await fetch(`${import.meta.env.VITE_API_URL}/api/categories`, {
22-
credentials: "include",
23-
});
24-
const data = await response.json();
25-
if (subscribed) {
26-
setCategories(Array.isArray(data) ? data : []);
27-
setLoading(false);
28-
}
29-
} catch (error) {
30-
console.error("Error fetching categories:", error);
31-
if (subscribed) {
32-
setCategories([]);
33-
setLoading(false);
34-
}
35-
}
36-
})();
31+
useEffect(() => {
32+
let isMounted = true;
33+
34+
const loadData = async () => {
35+
await fetchUsers();
36+
};
3737

38-
return () => {
39-
subscribed = false;
40-
};
41-
}, []);
38+
loadData();
39+
40+
return () => {
41+
isMounted = false;
42+
};
43+
}, [fetchUsers]);
4244

4345
const resetForm = () => {
4446
setFormData({

frontend/src/pages/admin/Korisnici.jsx

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,19 @@ export default function Korisnici() {
2323
}
2424
}, []);
2525

26-
// eslint-disable-next-line react-hooks/set-state-in-effect
27-
useEffect(() => {
28-
fetchUsers();
29-
}, [fetchUsers]);
26+
useEffect(() => {
27+
let isMounted = true;
28+
29+
const loadData = async () => {
30+
await fetchUsers();
31+
};
32+
33+
loadData();
34+
35+
return () => {
36+
isMounted = false;
37+
};
38+
}, [fetchUsers]);
3039

3140
const handleEdit = (user) => {
3241
setEditingId(user.id);

0 commit comments

Comments
 (0)