如何从回调函数访问状态



我在 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.statethis.simpleFunc().

为了从回调函数更新状态,我应该怎么做?

为了访问onLocation内部的this,您需要绑定回调:

  componentWillMount() {
      BackgroundGeolocation.on('location', this.onLocation.bind(this));

或者,您可以使用箭头函数(它将使用父级的词法范围):

  componentWillMount() {
      BackgroundGeolocation.on('location', (location) => this.onLocation(location));

相关内容

  • 没有找到相关文章

最新更新