and after that it reloads the page
i don't see the print statement π§
also it seems like the page is refreshing? π§
yes bcz after printing the statement page relaods itself
why?
const deleteTodoHandler = async (id) => {
try {
db.deleteDocument(
import.meta.env.VITE_APPWRITE_DATABASE_ID,
import.meta.env.VITE_APPWRITE_COLLECTION_ID,
id
);
console.log('deleted');
window.location.reload();
} catch (err) {
console.log(err);
window.location.reload();
}
};
here is the code
why are you adding the reload?
to render the list after newly add item or deleting item
i don't think that's the right approach...
I know but in the useEffect function if I gave the any payload or leave it empty it calls the function infinitely
useEffect(() => {
const loadData = async () => {
setLoader(true);
try {
const getTodos = await db.listDocuments(
import.meta.env.VITE_APPWRITE_DATABASE_ID,
import.meta.env.VITE_APPWRITE_COLLECTION_ID
);
setTodos(getTodos.documents);
} catch (err) {
console.log(err);
}
};
loadData();
setLoader(false);
}, []);
how do you know it calls the function infinitely?
see this video
if I gave any payload then its happening
what do you mean?
useEffect(() => {
const loadData = async () => {
setLoader(true);
try {
const getTodos = await db.listDocuments(
import.meta.env.VITE_APPWRITE_DATABASE_ID,
import.meta.env.VITE_APPWRITE_COLLECTION_ID
);
setTodos(getTodos.documents);
} catch (err) {
console.log(err);
}
};
loadData();
setLoader(false);
}, [todos]);
I mean this code
yes, that's causing the infinite loop. That todos at the bottom means "run this whenever todos changes" and you're changing todo in the loadData function. Does that make sense?
Yes I know but I found a solution using useReducer
Its work on the submit function and load function correctly
Now I'm implementing it on the deleting function
Thanks @Steven to help me. Now it is working perfectly.
[SOLVED] Not deleting at first
Recommended threads
- Endless certificate generation cycle
Hello, when I try to add the subdomain stats.hedgehog-rp.ru, I get an infinite loop while the certificate is being generated. There are no problems with adding ...
- Realtime not working for some tables
Hi, I've got an issue where I can setup a realtime connection to listen to some tables, but some not all. I have two tables `history` and `users`. Both can be ...
- How to handle ghost accounts created by ...
Appwrite create the account with the email and send an invitation link with a secret. I am able to accept the invitation and add the account as a member on the ...