使用React Hooks创建具有多个输入的axios帖子

最简单的

我正在学习如何使用React,并开始使用类,并决定转换为使用Hooks。我相信我已经正确地配置了所有内容,但是我不确定如何使用useEffect构造axios.post来处理多个用户输入。

import React, { useState, useEffect } from 'react'
import axios from 'axios'

const Signup = () => {
    const [customerSignUp, setCustomerSignUp] = useState([
        { email: '', password: '', firstName: '', lastName: ''}
    ]);

    const handleChange = (event) => {
        setCustomerSignUp(event.target.value)
    }

    const handleSubmit = (e) => {
        e.preventDefault()
        console.log(e)
    }

    useEffect(() => {
        axios.post('/api/Customer/SignUp', {

        })
        .then(function (response) {
            console.log(response)
        })
        .catch(function (error) {
            console.log(error)
        }) 

    }, [])

我只包括了lastName,以显示我如何使用handleChange事件处理程序来更改客户的状态。

    return (
        <div className="container">
            <form className='white' onSubmit={handleSubmit}>
                <h5 className="grey-text.text-darken-3">Sign Up With Email</h5>                        
                <div className="input-field">
                    <label htmlFor="lastName">Last Name</label>
                    <input type="text" name="lastName" value={customerSignUp.lastName} onChange={handleChange} required />
                </div>
                <div className="input-field"> 
                    <button className="btn blue darken-3" type="submit">Sign Up</button>
                </div>
            </form>
        </div>
    );
}
export default Signup
很酷的家伙

实际上,您的axios请求不一定要包含在useEffect()您的注册功能中,最好将其保留在您的handleSubmit函数中。您可以选择设置useEffect()为在首次进行组件渲染后或对特定依赖项进行每次更改后触发一次。两者都不特别适合您的功能。

另外,让状态保存一个对象而不是对象数组似乎更有意义。从那里,您可以axios像这样将状态放入请求中:

import React, { useState, useEffect } from 'react'
import axios from 'axios'

const Signup = () => {
    const [customerSignUp, setCustomerSignUp] = useState(
        { email: '', password: '', firstName: '', lastName: ''}
    );

    const handleChange = (event) => {
        setCustomerSignUp({...customerSignUp, [event.target.name]: event.target.value})
    }

    const handleSubmit = (e) => {
        e.preventDefault()
        axios.post('/api/Customer/SignUp', customerSignUp)
          .then(function (response) {
              console.log(response)
          })
          .catch(function (error) {
              console.log(error)
          }) 

setCustomerSignUp({email:``,password:'',firstName:``,lastName:''})); }

还请记住为与状态中的字段相对应的每个输入赋予名称属性。(看起来您已经拥有了)

    return (
        <div className="container">
            <form className='white' onSubmit={handleSubmit}>
                <h5 className="grey-text.text-darken-3">Sign Up With Email</h5>                        
                <div className="input-field">
                    <label htmlFor="lastName">Last Name</label>
                    <input type="text" name="lastName" value={customerSignUp.lastName} onChange={handleChange} required />
                </div>
                <div className="input-field"> 
                    <button className="btn blue darken-3" type="submit">Sign Up</button>
                </div>
            </form>
        </div>
    );
}
export default Signup

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 Keras 创建具有多个输入的 NN 架构

来自分类Dev

使用 React Hooks 获取多个数据 axios

来自分类Dev

如何使用带有React Hooks的axios来发布请求?

来自分类Dev

使用用户输入在 ArrayList 中创建具有多个类关联的对象

来自分类Dev

如何从多个具有相同名称的输入中获取值,其中使用jQuery动态创建输入字段?

来自分类Dev

React.js:具有多个输入的表单不提交

来自分类Dev

使用JavaScript动态创建具有多个元素的多个div?

来自分类Dev

如何使用React Hooks更改多个条目?

来自分类Dev

使用具有多个输入的功能时出错

来自分类Dev

使用 React,如何更新具有不同值的多个元素?

来自分类Dev

使用Axios发送多个请求的查询-React

来自分类Dev

React-Hooks:如何创建具有动态内容的可重用数据表组件

来自分类Dev

具有React Hooks的动态状态

来自分类Dev

如何使用setuptools创建具有多个模块的python包?

来自分类Dev

使用jQuery创建具有多个类的HTML元素

来自分类Dev

使用DryIoc创建具有多个服务注册的单例

来自分类Dev

使用拆分方法创建具有多个单词的哈希

来自分类Dev

如何使用DefaultListModel创建多个具有不同值的Jlist

来自分类Dev

使用React,React Hooks的私有路由

来自分类Dev

使用React Hooks多次获取数据axios-渲染数据

来自分类Dev

使用React Hooks的API调用

来自分类Dev

使用 react-admin ,如何从帖子创建评论

来自分类Dev

在React函数中使用Axios

来自分类Dev

创建具有多个输入的TimeseriesGenerator

来自分类Dev

使用React Hooks从ReasonML使用HTML Canvas

来自分类Dev

如何使用RxDatasource在具有多个标题的UICollectionView中创建多个节

来自分类Dev

使用带有XML输入的XSLT创建具有动态元素名称的XML结构

来自分类Dev

React Hooks + Firebase Firestore onSnapshot-正确使用带有React Hooks的Firestore侦听器

来自分类Dev

使用React JS的输入范围

Related 相关文章

  1. 1

    使用 Keras 创建具有多个输入的 NN 架构

  2. 2

    使用 React Hooks 获取多个数据 axios

  3. 3

    如何使用带有React Hooks的axios来发布请求?

  4. 4

    使用用户输入在 ArrayList 中创建具有多个类关联的对象

  5. 5

    如何从多个具有相同名称的输入中获取值,其中使用jQuery动态创建输入字段?

  6. 6

    React.js:具有多个输入的表单不提交

  7. 7

    使用JavaScript动态创建具有多个元素的多个div?

  8. 8

    如何使用React Hooks更改多个条目?

  9. 9

    使用具有多个输入的功能时出错

  10. 10

    使用 React,如何更新具有不同值的多个元素?

  11. 11

    使用Axios发送多个请求的查询-React

  12. 12

    React-Hooks:如何创建具有动态内容的可重用数据表组件

  13. 13

    具有React Hooks的动态状态

  14. 14

    如何使用setuptools创建具有多个模块的python包?

  15. 15

    使用jQuery创建具有多个类的HTML元素

  16. 16

    使用DryIoc创建具有多个服务注册的单例

  17. 17

    使用拆分方法创建具有多个单词的哈希

  18. 18

    如何使用DefaultListModel创建多个具有不同值的Jlist

  19. 19

    使用React,React Hooks的私有路由

  20. 20

    使用React Hooks多次获取数据axios-渲染数据

  21. 21

    使用React Hooks的API调用

  22. 22

    使用 react-admin ,如何从帖子创建评论

  23. 23

    在React函数中使用Axios

  24. 24

    创建具有多个输入的TimeseriesGenerator

  25. 25

    使用React Hooks从ReasonML使用HTML Canvas

  26. 26

    如何使用RxDatasource在具有多个标题的UICollectionView中创建多个节

  27. 27

    使用带有XML输入的XSLT创建具有动态元素名称的XML结构

  28. 28

    React Hooks + Firebase Firestore onSnapshot-正确使用带有React Hooks的Firestore侦听器

  29. 29

    使用React JS的输入范围

热门标签

归档