From 63bbf65b72fc89e145ab0aad4a821996d4079252 Mon Sep 17 00:00:00 2001 From: Ciprian Ceteras Date: Fri, 20 Nov 2020 08:59:21 +0200 Subject: [PATCH] Call the correct placeSelectCallback --- src/index.tsx | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/index.tsx b/src/index.tsx index 7d85d7b..4e4fd2b 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -71,18 +71,27 @@ export const GeoapifyGeocoderAutocomplete = ({ let geocoderAutocomplete: MutableRefObject< GeocoderAutocomplete | undefined > = useRef(); + const placeSelectCallbackRef: MutableRefObject< + ((value: any) => {}) | undefined + > = useRef<(value: any) => {}>(); + const suggestionsChangeCallbackRef: MutableRefObject< + ((value: any) => {}) | undefined + > = useRef<(value: any) => {}>(); - function onSelect(value: any) { - if (placeSelectCallback) { - placeSelectCallback(value); + placeSelectCallbackRef.current = placeSelectCallback; + suggestionsChangeCallbackRef.current = suggestionsChangeCallback; + + const onSelect = React.useCallback((value: any) => { + if (placeSelectCallbackRef.current) { + placeSelectCallbackRef.current(value); } - } + },[]); - function onSuggestions(value: any) { - if (suggestionsChangeCallback) { - suggestionsChangeCallback(value); + const onSuggestions = React.useCallback((value: any) => { + if (suggestionsChangeCallbackRef.current) { + suggestionsChangeCallbackRef.current(value); } - } + },[]); useEffect(() => { if (initialized) {