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
- Appwrite DNS nameservers return SERVFAIL...
My custom domain demomanasa.online (and all its subdomains) stopped resolving with ERR_NAME_NOT_RESOLVED for all visitors. I have traced the failure to Appwrite...
- Framework categorization for Sites
Hello, I want to deploy my web app via Appwrite SItes. My web app is vite+reactjs. In the Appwrite docs, it creates a vite+react app, and chooses React from the...
- Not allowed permission to upsert a prese...
```js const presenceID = ID.unique(); setPID(presenceID); const presence = await presences.upsert({ presenceId: presenceID, status: "online"...