#maybe dummy but why my component gets mounted more than once when saving changes

1 messages · Page 1 of 1 (latest)

plain notch
#

Screen shots like that really don't give much to go on.

drowsy juniper
#

// the one adding to the dom
function indexAssure(){
    const [assures,setAssures] = createSignal();
    const navigate=useNavigate();
    // here i'll be prefetching that element beforehand


    return(
        <div>
            <div>ana huna</div>
        </div>
    );
}

export default indexAssure;


#
function Login() {
    const navigate=useNavigate();
    const [loginCred,setLoginCred]=createSignal();
    const [errorMsg,setErrorMsg]=createSignal('');
    const loggerInfo =(ev)=>{
        ev.preventDefault();
        setLoginCred(new FormData(ev.target));
        const data = new URLSearchParams();
        data.append('username', loginCred().get('username'));
        data.append('password', loginCred().get('password'));
        fetcher('/token',true,'POST',data,{
         "Content-Type": "application/x-www-form-urlencoded" 
        },navigate).then(
                resolved=>{
                    navigate('/uploadExcel')
                },
                rejected=>{
                    console.log(rejected,store.errorMessage)
                    setErrorMsg(store.errorMessage.message)
                })
    }
    return (
        <div class="w-screen h-screen bg-cyan-100 flex justify-center items-center">
            <div class="login-container w-1/3 bg-blue-300 flex flex-col items-center py-12">
                <h1 class="font-bold text-4xl">Login</h1>
                <form class="flex flex-col w-3/4 gap-4" on:submit={loggerInfo} >
                    <div class="input-group flex flex-col">
                        <label for="username">Email:</label>
                        <input type="text" name="username" />
                    </div>
                    <div class="input-group flex flex-col">
                        <label for="password">Password:</label>
                        <input type="password" name="password"/>
                    </div>
                    <span class={errorMsg==false?"none":"block text-red-700"}>
                        {errorMsg()}
                    </span>
                    <button type="submit" class="w-1/2 py-2 rounded bg-blue-950 text-white mx-auto">Submit</button>
                </form>
            </div>
          </div>
    );
}

export default Login;

#

the login that doesn't append