Запрос POST с использованием выборки с async / await при отправке - PullRequest
0 голосов
/ 21 июня 2020

Я хочу отправить POST в форму входа, используя уже установленную аутентификацию React JSX и JWT API. Я не хочу использовать сообщение ax ios, вместо этого я хочу использовать метод хуков useState, useEffect с функцией async / await и onFormSubmit. Как отправить данные, значения имени пользователя и пароля между состоянием и эффектом. спасибо

const [login, setLogin] = useState({
    username: '',
    password: '',
    userNiceName: '',
    userEmail: '',
    loggedIn: false,
    loading: false,
    error: ''
})


useEffect(() => {

}, [])

const postData = async () => {
    const response = await fetch('http://localhost:8888/react/wp-json/jwt-auth/v1/token', requestOptions )
    const login = await response.json()
    const requestOptions = {
            method: 'POST',
           headers: { 'Content-Type': 'application/json' },
            body: JSON.stringify(data)
    }


const onFormSubmit = e => {
    e.preventDefault()
    const data = {
        username: e.target[0].value,
        password: e.target[2].value,
    }

1 Ответ

0 голосов
/ 21 июня 2020
const [login, setLogin] = useState({
    username: '',
    password: '',
})
    

const [logindata, setLogindata] = useState({
    userNiceName: '',
    userEmail: '',
    loggedIn: false,
    loading: false,
    error: ''
})


useEffect(() => {
    postData()
    return ()=>{}
    }, [login])
    
    const postData = async () => {
    
    const requestOptions = {
                    method: 'POST',
                   headers: { 'Content-Type': 'application/json' },
                    body: JSON.stringify(login)
            }
        const response = await fetch('http://localhost:8888/react/wp-json/jwt-auth/v1/token', requestOptions )
        const loginresp = await response.json()
    setLogindata({...logindata, ...loginresp})
    }
       
    
    
    const onFormSubmit = e => {
        e.preventDefault()
        const data = {
            username: e.target[0].value,
            password: e.target[2].value,
        }
        setLogin({...login,...data})
    }
...