Я не уверен, что происходит не так. Я импортирую функцию, которая использует useState и useEffect. функция возвращает переменную в моем состоянии с данными из вызова выборки. Однако, когда я пытаюсь отобразить эти данные, я получаю сообщение об ошибке: карта не определена. Мой синтаксис выглядит правильно, и это работает в обычном режиме, поэтому я не уверен, что происходит сейчас. Я получаю ответ обратно, файл импортируется / экспортируется правильно, и состояние обновляется (используемый APIKey скрыт для этого поста), и указатели были бы хорошими!
код для данных и состояние обновления:
export function grabLocationData() {
const [data, updateData] = useState([]);
console.log("Data!", data);
const [location, updateLocation] = useState("");
useEffect(() => {
navigator.geolocation.getCurrentPosition(
(position) => {
console.log("lat", position.coords.latitude);
console.log("lng", position.coords.longitude);
const { latitude, longitude } = position.coords;
updateLocation(`${latitude},${longitude}`);
},
{ enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 }
);
const url = `https://maps.googleapis.com/maps/api/place/textsearch/json?query=${query}&location=${location}&radius=10000&key=${apiKey}`;
console.log("console log!!!", url);
fetch(url)
.then((response, err) => {
if (err) throw err;
return response.json();
})
.then((responseJson) => {
updateData(responseJson);
});
}, []);
return data;
}
код для сопоставления
export default Locations = (props) => {
const apiKey = "AIzaSyD3o3hDRwSZTVhlUIDOjGQ1ZqevG6fnWII";
const data = grabLocationData();
console.log(data);
return (
<ScrollView>
{data.results.map((bank) => {
return <View>{bank.name}</View>;
})}
</ScrollView>
);
};