Przeglądaj źródła

Merge branch 'dev' of https://git.nomadmania.travel/Viktoriia/nomadmania-app into chat

Viktoriia 9 miesięcy temu
rodzic
commit
58b30a7618

+ 5 - 8
src/screens/InAppScreens/MapScreen/index.tsx

@@ -165,8 +165,10 @@ const MapScreen: React.FC<MapScreenProps> = ({ navigation, route }) => {
       setDb3(countriesDb);
     };
 
-    loadDatabases();
-  }, []);
+    if (!db1 || !db2 || !db3) {
+      loadDatabases();
+    }
+  }, [db1, db2, db3]);
 
   useFocusEffect(
     useCallback(() => {
@@ -591,12 +593,7 @@ const MapScreen: React.FC<MapScreenProps> = ({ navigation, route }) => {
 
   const handleFindRegion = async (id: number, type: string) => {
     cancelTokenRef.current = true;
-    const db =
-      type === 'regions'
-        ? db1
-        : type === 'countries'
-          ? db3
-          : db2;
+    const db = type === 'regions' ? db1 : type === 'countries' ? db3 : db2;
 
     if (type === 'countries') {
       setSelectedRegion(null);

+ 5 - 3
src/screens/InAppScreens/TravelsScreen/utils/useRegionData.ts

@@ -20,15 +20,17 @@ const useRegionData = (regionId: number, dare: boolean = false) => {
       setDb2(secondDb);
     };
 
-    loadDatabases();
-  }, []);
+    if (!db1 || !db2) {
+      loadDatabases();
+    }
+  }, [db1, db2]);
 
   useEffect(() => {
     const fetchRegionData = async () => {
       const db = dare ? db2 : db1;
       const tableName = dare ? 'places' : 'regions';
       if (!db) return;
-      
+
       try {
         await getData(db, regionId, tableName, (data, avatars) => {
           setRegionData(data);