import React from "react";
import useUsersData from "./useUsersData";
export const User = ({ _id, name, age, email }) => {
const [userData, setUserData] = useUsersData();
const handleDelete = (id) => {
const proceed = window.confirm("Are you sure?");
if (proceed) {
const url = `http://localhost:5000/users/${id}`;
fetch(url, {
method: "DELETE",
})
.then((res) => res.json())
.then((data) => {
console.log(data);
}); }
const remaining = userData.filter((userData) => userData._id !== id);
console.log(userData);
console.log(remaining);
setUserData(remaining);
console.log(userData);
};
return (
<p onClick={() => handleDelete(_id)}>
X
</p>
</div>
);
};
the custom hook:
import { useEffect, useState } from "react";
const useUsersData = () => {
const [userData, setUserData] = useState([]);
useEffect(() => {
fetch("http://localhost:5000/users")
.then((res) => res.json())
.then((data) => setUserData(data));
}, []);
return [userData, setUserData];
};
export default useUsersData;
not updating useState()
custom hook when I use setState(somedata)
the custom hook useState
does not get updated. I don't know what I did wrong.
You can see in the console log that set user data is not changing. here is a screenshot console.log