我使用此代码从用户获取当前位置,但是现在当我使用setState将经度和纬度保存到状态时,我有了一个通知。
ReferenceError:未定义setState
async componentDidMount(){
const { status } = await Expo.Permissions.askAsync(Expo.Permissions.LOCATION);
if (status === 'granted') {
const location = await Expo.Location.getCurrentPositionAsync({
enableHighAccuracy: true,
});
setState({
lat:JSON.stringify(location.coords.latitude),
long:JSON.stringify(location.coords.longitude),
});
}
}
如何保存位置信息?
答案 0 :(得分:1)
您可以使用this
设置setState。
在您的constructor
中添加状态变量,
constructor(props) {
super(props);
this.state = {
...
lat: 0.000,
long: 0.000,
...
};
}
然后将this
添加到方法中。
async componentDidMount(){
const { status } = await Expo.Permissions.askAsync(Expo.Permissions.LOCATION);
if (status === 'granted') {
const location = await Expo.Location.getCurrentPositionAsync({
enableHighAccuracy: true,
});
this.setState({
lat:JSON.stringify(location.coords.latitude),
long:JSON.stringify(location.coords.longitude),
});
}
}