react set state of an element in array code example
Example 1: react how to update state array
const initialState = [
{ name: "foo", counter: 0 },
{ name: "far", counter: 0 },
{ name: "faz", counter: 0 }
];
const [state, setState] = useState(initialState);
const clickButton = () => {
let temp_state = [...state];
let temp_element = { ...temp_state[0] };
temp_element.counter = temp_element.counter+1;
temp_state[0] = temp_element;
setState( temp_state );
}
Example 2: update object in array state by index
this.setState(({items}) => ({
items: [
...items.slice(0,1),
{
...items[1],
name: 'newName',
},
...items.slice(2)
]
}));