如何使用useeffect获取坐标?我一无所获,我在做什么错了?
const [position, setPosition] = useState<any>(null);
useEffect(() => {
(async () => {
navigator.geolocation.getCurrentPosition((position) => {
const { longitude, latitude } = position.coords;
console.log(longitude, latitude);
});
})();
}, []);
答案 0 :(得分:0)
地理位置API是支持浏览器所固有的。因此,您可以删除async
关键字。
const [position, setPosition] = useState(null);
useEffect(() => {
(() => {
navigator.geolocation.getCurrentPosition((position) => {
//const { longitude, latitude } = position.coords;
setPosition(position.coords)
});
})();
}, []);
然后返回position
状态。您也可以console.log()