From ce5ea2fb1fe8d6629839f24a884902b4714604cb Mon Sep 17 00:00:00 2001 From: Bernhard Owen Josephus Date: Tue, 17 Mar 2026 22:59:36 +0800 Subject: [PATCH] update country and state when the draft is updated --- .../subPages/Address.tsx | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/pages/MissingPersonalDetails/subPages/Address.tsx b/src/pages/MissingPersonalDetails/subPages/Address.tsx index 2f31bcaa8f183..c222f4850405a 100644 --- a/src/pages/MissingPersonalDetails/subPages/Address.tsx +++ b/src/pages/MissingPersonalDetails/subPages/Address.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useState} from 'react'; +import React, {useCallback, useRef, useState} from 'react'; import {View} from 'react-native'; import AddressSearch from '@components/AddressSearch'; import CountryPicker from '@components/CountryPicker'; @@ -26,11 +26,26 @@ function AddressStep({isEditing, onNext, personalDetailsValues}: CustomSubPagePr const {translate} = useLocalize(); const styles = useThemeStyles(); - const [currentCountry, setCurrentCountry] = useState(personalDetailsValues[INPUT_IDS.COUNTRY]); - const [state, setState] = useState(personalDetailsValues[INPUT_IDS.STATE]); + const currentCountryDraft = personalDetailsValues[INPUT_IDS.COUNTRY]; + const currentStateDraft = personalDetailsValues[INPUT_IDS.STATE]; + const [currentCountry, setCurrentCountry] = useState(currentCountryDraft); + const [state, setState] = useState(currentStateDraft); const [city, setCity] = useState(personalDetailsValues[INPUT_IDS.CITY]); const [zipcode, setZipcode] = useState(personalDetailsValues[INPUT_IDS.ZIP_POST_CODE]); + const prevCountryDraft = useRef(currentCountryDraft); + const prevStateDraft = useRef(currentStateDraft); + + if (prevCountryDraft.current !== currentCountryDraft) { + prevCountryDraft.current = currentCountryDraft; + setCurrentCountry(currentCountryDraft); + } + + if (prevStateDraft.current !== currentStateDraft) { + prevStateDraft.current = currentStateDraft; + setState(currentStateDraft); + } + const handleSubmit = usePersonalDetailsFormSubmit({ fieldIds: STEP_FIELDS, onNext,