将输入函数的参数绑定到lodash" s" debounce"

时间:2017-06-11 08:49:10

标签: javascript lodash

我正在使用reactjs。在我的一个组件类中,我有一个功能,我希望将其绑定到这个'这个'对象以及参数。它是:

    const boundSingleClick = this.onSingleClick.bind(this, myArgument)

onSingleClick签名和定义:

    onSingleClick(itemId) {
      this.clickedOnce = undefined
      this.props.previewItem(itemId)
    }

现在,我想在lodash的辩护中使用此功能。我这样使用它:

    const delayedClick = _.debounce(boundSingleClick, 300)
    delayedClick()

调用debounced函数时我注意到的是,' myArgument'参数是' undefined'在函数调用中 - 虽然,'这个'被妥善约束。

debounce是否接受具有绑定参数的函数作为其参数?

非常感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:0)

为了保持OP上的评论数字较低,我将此作为答案发布,但这更像是一个quickfix / workaround,也许其他人可以指出我们真正的问题,因为我无法重现该bug在我身边。

尝试将boundSingleClick调用为:

const delayed = _.debounce((...args) => boundSingleClick.apply(null, args), 300)