如何从回调函数访问状态[重复]
Posted
技术标签:
【中文标题】如何从回调函数访问状态[重复]【英文标题】:How to access state from callback function [duplicate] 【发布时间】:2017-06-19 08:13:01 【问题描述】:我有一个 react native 的组件:
export default class Screen extends Component
constructor(props)
super(props);
this.state =
prop1: false,
prop2: simpleFunc
;
simpleFunc = () => /*...*/
componentWillMount()
BackgroundGeolocation.on('location', this.onLocation);
最后一行是回调方法,将在新位置调用。
通过该方法,我无法访问 this.state
或 this.simpleFunc()
。
我应该怎么做才能从回调函数中更新状态?
【问题讨论】:
是因为你使用了箭头函数吗? 位置如下:onLocation(location)
【参考方案1】:
要访问onLocation
内部的this
,您需要绑定回调:
componentWillMount()
BackgroundGeolocation.on('location', this.onLocation.bind(this));
或者,您可以使用箭头函数(将使用父级的词法范围):
componentWillMount()
BackgroundGeolocation.on('location', (location) => this.onLocation(location));
【讨论】:
以上是关于如何从回调函数访问状态[重复]的主要内容,如果未能解决你的问题,请参考以下文章