使用正确的* this *值运行回调

时间:2018-07-10 00:35:17

标签: javascript reactjs ecmascript-6 parent-child

我有一个名为Subscribe的父组件。它公开了一个名为updateProp的函数(如下所示),然后从一个名为SubscribeStep1的子组件中调用该函数。 此功能,包括回调作为参数

以下是问题,从SubscribeStep1Subscribe,我想发送给函数updateProp,这是一个必须修改状态的回调(记住,子组件是SubscribeStep1,父组件是Subscribe)。但是我在上下文上遇到了问题,所以我写的东西不起作用。

updatePropSubscribe的实现:

updateProp = (property, value, callback) => {
const { user } = this.props;

Meteor.call(
  'pendingSubscription.updateProp',
  user.pendingSubscription._id,
  property,
  value || null,
  () => {
    if (callback) {
      callback(); //Here, the execution of the callback that is giving me problems.
    }
  },
 );
};

我要在SubscribeStep1上做的事情:

componentDidMount() {
  const {updateProp} = this.props;
  updateProp('step', 1, () =>{ //Here, the content of the callback that is giving me problems 
    this.setState({
      step: 1
    })
  });
}

编写回调的正确方法是什么?

0 个答案:

没有答案