Reputation: 751
What is the proper way of updating the state using react-hook?
const [items, setItems]= useState([]];
const onChangeHandlers= (values)=> {
setItems({setItems:values})
}
const values = ['item1','item2','item3'];`
Upvotes: 0
Views: 1069
Reputation: 248
You must have the function of changing the value
1: import React, { useState } from 'react';
2:
3: function Example() {
4: const [count, setCount] = useState(0);
5:
6: return (
7: <div>
8: <p>You clicked {count} times</p>
9: <button onClick={() => setCount(count + 1)}>
10: Click me
11: </button>
12: </div>
13: );
14: }
Your example
const [items, setItems] = useState([]);
const onChangeHandlers= (values)=> {
setItems(values)}};
Upvotes: 1
Reputation: 1
const [items, setItems] = useState([]);
const onChangeHandlers = values => {
setItems(prevState => ([
...items,
values
]);
};
const values = ['item1', 'item2', 'item3'];
Upvotes: 0
Reputation: 281736
A few important things to keep in mind while updating state via useState updater hook is
items
.The correct way here to just pass in the new value as you would do while calling a normal function
const [items, setItems]= useState([]];
const onChangeHandlers= (values)=> {
setItems(values)
}
const values = ['item1','item2','item3'];
Upvotes: 1