function App () { const [data, setData] = React.useState({ email: '', password: '' }) const handleChange = paramName => event => { setData(prevData => ({ email: prevData.email, password: prevData.password, [paramName]: event.target.value })) } const handleSubmit = (event) => { event.preventDefault() console.log('Submit', data) } const isDisabled = !data.email || !data.password return ( <form onSubmit={handleSubmit}> <input type="text" placeholder="E-mail" value={data.email} onChange={handleChange('email')} /> <input type="password" placeholder="Password" value={data.password} onChange={handleChange('password')} /> <button type="submit" disabled={isDisabled}>Submit</button> </form> )}