@@ -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);
@@ -20,15 +20,17 @@ const useRegionData = (regionId: number, dare: boolean = false) => {
setDb2(secondDb);
+ if (!db1 || !db2) {
+ }, [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);