【发布时间】:2016-10-31 11:08:27
【问题描述】:
您好,我是 React 新手,请多多包涵。我想将地理位置存储为一个状态。看起来很漂亮,因为位置的任何变化都会触发渲染,这正是我想要的。在开发过程中,我有一个通过访问lastPosition 手动触发事件的按钮。但是当我这样做的时候。状态是“未定义的”。有什么线索吗?
export default class FetchProject extends Component {
constructor(props) {
super(props);
this.state = {
initialPosition: 'unknown',
lastPosition: 'unknown',
};
}
//code that sets lastposition
componentDidMount() {
....
}
_onPressGET (){
console.log("PressGET -> " + this.state); //undefined
var northing=this.state.initialPosition.coords.latitude;
//triggers error
}
render() {
return (
<View style={styles.container}>
<TouchableHighlight onPress = {this._onPressGET} style = {styles.button}>
<Text>Fetch mailbox</Text>
</TouchableHighlight>
</View>
);
}
}
【问题讨论】:
-
你能在你使用
_onPressGet的地方显示这段代码吗? (可能是你的render函数)。 -
是的。在
render()。添加了上面缺少的代码。
标签: javascript reactjs react-native setstate