He integrado el autocompletado del mapa de Google, funciona bien, incluso si he iniciado sesión en la console , todos los datos aparecen como se esperaba, pero el problema es que, cuando selecciono, no actualiza el state
Aquí tienes mi componente
import Autocomplete from "react-google-autocomplete"; const TestForm = () => { const [profile, setProfile] = useState({}); const onPlaceSelected = (place) => { console.log(place) setProfile({...profile, "test": "test"}) console.log(profile, ) }; const handleProfileChange = (e) => { setProfile({...profile, [e.target.name]: e.target.value}) }; return ( <> <input onChange={handleProfileChange} type="text"></input> <Autocomplete apiKey="apikey" defaultValue={formData.profile.location || ""} onPlaceSelected={onPlaceSelected} /> </> ); }; Puede notar que usé dos métodos diferentes para actualizar el estado, uno para los campos de entrada generales y otro para la biblioteca de autocomplete , pero el estado general del campo de input se está actualizando pero el estado de autocomplete no se está actualizando, he registrado la consola en el place , veo que está apareciendo , el único problema es que cuando selecciono una ubicación, la ubicación seleccionada no agrega mi estado, ¿cuál es el problema? ¿Por qué se comporta tan raro? ¿Alguien puede ayudarme?
No puede registrar el estado justo después de actualizarlo, porque es asíncrono. Intente registrar el cambio de estado en useEffect hook
const [profile, setProfile] = useState({}); const onPlaceSelected = (place) => { console.log(place) setProfile({...profile, "test": "test"}) }; useEffect(() => { console.log(profile) }, [profile])