MagicForm Patterns
MagicForm makes it easy to send data to the server, here are some useful patterns
Login
async login(form: HTMLFormElement){
const user = Object.fromEntries(new FormData(form) as any);
return myApi.login(user);
}Create data
async create(form: HTMLFormElement){
const result = await fetch("/my-api",{method: "post",body: new FormData(form)});
return result.json();
}Search
async search(form: HTMLFormElement) {
const beforeFetch = Object.fromEntries(new FormData(form) as any);
await new Promise((resolve) => setTimeout(resolve, 1000)); // debounce
const result = await fetch(beforeFetch.search);
const afterFetch = Object.fromEntries(new FormData(form) as any);
if (afterFetch.search === beforeFetch.search) {
return result;
} else {
return login(form);
}
}Last updated
Was this helpful?
