我的代码
import { StyleSheet, Text, View, Dimensions, Button } from 'react-native'
import React , {useEffect, useState} from 'react'
import {ref, onValue} from 'firebase/database'
import {db} from '../firebase'
import MapView, {Marker} from 'react-native-maps';
import * as Loc from 'expo-location';
const Location = ({route}) => {
const paramKey = route.params.paramKey1
console.log(paramKey)
var ke, latit, longit;
const [todoDatak, setToDoDatak] = useState([])
const [todoDatal, setToDoDatal] = useState([])
const [todoData2, setToDoData2] = useState([])
const [mapRegion, setMapRegion] = useState({
latitude: toDoData1,
longitude: toDoData2,
latitudeDelta: 0.9,
longitudeDelta:0.9,
})
const [mapRegionNow, setMapRegionNow] = useState({
latitude: 1.3483,
longitude: 103.6831,
latitudeDelta: 0.9,
longitudeDelta:0.9,
})
useEffect (() => {
const starCountRef = ref(db, "food/" + paramKey);
onValue(starCountRef, (snapshot) =>{
latit = snapshot.val().Latitude
console.log("Value from Firebase: " + latit)
longit = snapshot.val().Longitude
console.log("Value from Firebase: " + longit);
ke = snapshot.key;
setToDoDatak(ke)
setToDoDatal(latit)
setToDoData2(longit)
});
userLocation();
}, [])
console.log('Latitude = ' + todoDatal)
console.log('Longitude = ' + todoData2)
我似乎无法从toDoData1和toDoData2设置latitude和longitude。
我的控制台日志以确保提取和存储正确的值:
我试过改变
const [todoDatal, setToDoDatal] = useState([])
const [todoData2, setToDoData2] = useState([])
到
const [todoDatal, setToDoDatal] = useState()
const [todoData2, setToDoData2] = useState()
它仍然对我不起作用。我收到我的应用程序中显示的错误: