Sometimes, we want to update and merge state object using React useState hook.
In this article, we’ll look at how to update and merge state object using React useState hook.
How to update and merge state object using React useState hook?
To update and merge state object using React useState hook, we can call the state setter function with a callback that returns the new object state value.
For instance, we write
const Comp = () => {
const [state, setState] = useState({ fName: "", lName: "" });
const handleChange = (e) => {
const { name, value } = e.target;
setState((prevState) => ({
...prevState,
[name]: value,
}));
};
return (
<>
<input
value={state.fName}
type="text"
onChange={handleChange}
name="fName"
/>
<input
value={state.lName}
type="text"
onChange={handleChange}
name="lName"
/>
</>
);
};
to define the handleChange in the Comp component that calls setState with a callback that return an object with the prevState properties and the new property values.
We set the onChange prop to handleChange to get the input value from e.target.value and the name attribute value of the input from e.target.name.
Conclusion
To update and merge state object using React useState hook, we can call the state setter function with a callback that returns the new object state value.