表单作为具有反应的功能组件

Ale*_*x K 6 forms components functional-programming login reactjs

如果我想制作一个包含表单的功能组件,例如登录,并且我想在 App 组件中包含状态并且 Login 将是它的子级,我可以使用 Login 子级中的表单来改变 App 中的状态吗?

Eas*_*war 5

是的。将两个道具一个对象data和一个方法onChange传递给Loginfrom Appdata将在Login.

消防onChange与更新的形式值是否有任何变化Login形式。

处理它App并更新它的状态,然后流向Loginas data


小智 5

import React, {useState} from 'react';

function Submit() {

    const [inputField , setInputField] = useState({
        first_name: '',
        last_name: '',
        gmail: ''
    })

    const inputsHandler = (e) =>{
        setInputField( {[e.target.name]: e.target.value} )
    }

    const submitButton = () =>{
        alert(inputField.first_name)
    }

    return (
        <div>
            <input 
            type="text" 
            name="first_name" 
            onChange={inputsHandler} 
            placeholder="First Name" 
            value={inputField.first_name}/>

            <br/>

            <input 
            type="text" 
            name="last_name" 
            onChange={inputsHandler} 
            placeholder="First Name" 
            value={inputField.last_name}/>

            <br/>

            <input 
            type="gmail" 
            name="gmail" 
            onChange={inputsHandler} 
            placeholder="Gmail" 
            value={inputField.gmail}/>

            <br/>

            <button onClick={submitButton}>Submit Now</button>
        </div>
    )
}

export default Submit
Run Code Online (Sandbox Code Playgroud)

  • 这很棒,只是它会导致警告“警告:组件正在将文本类型的受控输入更改为不受控制”。在这里为我解决这个问题:/sf/ask/4296518621/ (2认同)