this is my code,
const [state, setState] = useState({
email: '',
password: '',
last_name: '',
first_name: ''
});
const emailChangeHandler = (e) => {
setState(c => {
return {
...c,
email: e.target.value
}
})
}
return (
<form>
<input className="input" type="text" name="email" onChange={emailChangeHandler}/>
<input className="input" type="text"/>
<input className="input" type="text"/>
</form>
)
I'm trying to update the state when the input value is changed.
But error "TypeError: Cannot read property 'value' of null",
13 | setState(c => {
14 | return {
15 | ...c,
> 16 | email: e.target.value
17 | ^ }
18 | })
19 | }
so, I'm trying to update state without the current state, like this:
const emailChangeHandler = (e) => {
setState({...state, email: e.target.value})
}
and its work, but why? whats is the difference between setstate with currentstate and without currentstate?