簡體   English   中英

fetch 發送數據但沒有 go 然后反應

[英]fetch send the data but doesn't go in then, React

我在獲取時遇到問題。 數據已發送,但在 then 或 catch 中沒有做,所以我不知道是否響應是 send ot not,只有當我在數據庫中的 go 時。 那是代碼:

import React, { useState } from 'react'
// import styles from './index.module.css'
import Input from '../input'
import SignUpButton from '../sign-up-button'

const SignUpForm = () => {
    const [username, setUsername] = useState('')
    const [email, setEmail] = useState('')
    const [password, setPassword] = useState('')

    const handleSubmit = (e) => {
        e.preventDefault()

        let data = { username: username, email: email, password: password }

        const headers = new Headers()
        headers.append('Content-Type', 'application/json')
        const options = {
            method: 'POST',
            headers: headers,
            mode: 'cors',
            cache: 'default',
            body: JSON.stringify(data)
        }

        const request = new Request(`http://localhost:5000/user/sign-up`, options)

        fetch(request)
            .then(res => {
                setUsername('')
                setEmail('')
                setPassword('')
            })
            .catch(e => {
                console.log(e)
            })

    }

    return (
        <form onSubmit={handleSubmit}>
            <Input
                onChange={e => setUsername(e.target.value)}
                label='Username:'
                name='username'
                placeholder='marolio'
                value={username}               
            />
            <Input
                onChange={e => setEmail(e.target.value)}
                label='Email:'
                name='email'
                placeholder='marolio@yahoo.com'
                value={email}              
            />
            <Input
                onChange={e => setPassword(e.target.value)}
                label='Password:'
                name='password'
                value={password}                
            />
            <SignUpButton
                text='CREATE ACCOUNT'
                btnStyle='submit'
            />
        </form>
    )
}

export default SignUpForm

同樣的結構在其他項目中對我有用,所以也許有些東西發生了變化,但我不知道。 每一個幫助都將是有用的。 謝謝!

我做了這個改變並且它起作用了,但我仍然很好奇為什么然后 catch 不起作用。

const response = fetch(request)

if(response){
    setUsername('')
    setEmail('')
    setPassword('')
} else{
    console.log('error')
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM