State is reset when autocomplete is called
santiagomed opened this issue · 2 comments
I am using the Autocomplete component and when onPlaceSelected
I am saving the place into a state array (input
) of the parent component. However, whenever a place is selected the previous value is set to an empty array and then adds the new selected place, instead of adding it to the existing array. I am thinking it has something to do with refs, but I'm not sure how to start fixing it. Any help or advice would be appreciated.
Example:
1. inputs = [place1];
2. onPlaceSelected={(place2) => {
console.log(inputs); // prints empty array
addInput(place2);
}}
4. input = [place2]; // should be input = [place1, place2]
// addInput basically does this
function addInput(place) {
setInputs[...inputs, place]l;
}
Experiencing something similar. The onPlaceSelected
encapsulates a stale version of my parent state. I'd expect the function to get updated with the latest as props change, but it remains stale.
More on this mentioned here #168
@bsaff are you using prev state when updating your state? This was my issue back then. So basically
setInputs(prev => [...prev, newInput])