2017-06-11 21 views
0

私はreactjsを使用しています。私のコンポーネントのクラスの1つでは、私は 'this'オブジェクトをバインドする機能を持っていて、というという引数も持っています。これは、次のとおりです。入力関数の引数をlodashの "debounce"に渡します

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

onSingleClick署名と定義:

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

さて、私はlodashのデバウンスにこの機能を使用したいと思います。 、デバウンス機能が呼び出されたときに、私が気づく何

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

「myargumentに」パラメータは、関数呼び出しで「未定義」は、ということです - 「これは」適切にバインドされているものの:私はそれをこのように使用しています。

debounceはバインドされたパラメータを引数として受け取りますか?

本当にありがとうございます。

ありがとうございました。

+0

あなたonSingleClick関数のシグネチャ –

+0

を表示することができますonSingleClick上myargumentにするときのコールバインドの値であるかどうか確認することはできますか?それは期待値ですか、それとも未定義ですか? –

+0

私は、関数をバインドするmyArgumentの値は何ですか、関数が_.debounceによって呼び出されたときではないと言うことを意味しました –

答えて

0

OPのコメント番号を低く抑えるために、私はこれを回答として掲示していますが、これはクイックフィックス/回避策のようなもので、他の人が本物の問題を私に指摘することができます。私の側のバグ。

はとしてboundSingleClickを起動してみてください。

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

とても後悔して申し訳ありません。私のコードに間違いがあったため、私は問題に直面していました。デバウンスはバインドされたパラメータでうまく動作します。あなたの助けをありがとう、それは私のコードを修正するのに役立ちました。 – bkj

関連する問題