Fórum React Native - Problema com Hooks #616864

06/10/2021

0

Estou tentado passar as variáveis do useState latitude e longitude porém o valor passado é sempre 0. Mas quando dou um console.log aparece as coordenadas certinho. O que poderia estar acontecendo? Eu sei que o valor 0 é o que está no parâmetro do useState.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import React, { useEffect, useState } from "react";
import { View } from "react-native";
import MapView from 'react-native-maps';
import * as Location from 'expo-location';
import AlertArea from "./AlertArea";
import styles from "./style";
 
export default function Maps(){
 
    const [latitude, setLatitude] = useState(0)
    const [longitude, setLongitude] = useState(0)
    const [errorMsg, setErrorMsg] = useState(null)
 
    useEffect(() =>{
        (async () => {
            let { status } = await Location.requestForegroundPermissionsAsync()
 
            if(status !== 'granted'){
                setErrorMsg('Permission to access location was denied')
                return
            }
 
            let location = await Location.getCurrentPositionAsync({})
 
            let latitude = JSON.parse(location.coords.latitude)
            let longitude = JSON.parse(location.coords.longitude)
 
            setLatitude(latitude)
            setLongitude(longitude)
        })()
    },[])
 
    console.log(latitude)
    console.log(longitude)
 
    return(
        <View style={styles.content}>
            <MapView style={styles.map} initialRegion={{
                latitude: latitude,
                longitude: longitude,
                latitudeDelta: 0.0122,
                longitudeDelta: 0.0121,
            }} showsUserLocation></MapView>
            <AlertArea/>
        </View>
    )
}
Gabriel Araujo

Gabriel Araujo

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar