4
を反応します。コンストラクターでは、コンポーネントのローカルステートを設定するときに、小道具(利用可能な場合)からvalue
を取得します。Lodashデバウンスは、それが最初に私のコードを見て最善だろう
次にinput
のonChange
機能で状態を更新してから、Webサービスエンドポイントを呼び出して、新しい値をServices.setValue()
に設定しようとします。
<input
value={this.state.value}
onChange={_.debounce((event, value) => this.onChange(value), 1000)}
/>
をしかし、その後this.setState
が呼び出されるだけで1000ミリ秒ごとに、ビューを更新します。私はそうのような入力のonChange
によって直接debounce
を設定した場合は作業を何
です。あなたが入力したものが2番目の後にしか表示されないので、テキストフィールドでの入力は奇妙に見えます。
このような状況ではどうすればよいですか?あなたはデバウンス関数を呼び出していないので、
を行うことができます!私は 'onChange'の匿名関数を実行している自己で_.debounce(...)をちょうどラップすることもできますか? – Tiwaz89
はい、あなたもそうすることができますが、その場合には毎回新しいデバウンス関数を返すことになりますので、上記のアプローチはあなたの提案よりも優れています –
素晴らしい点、ありがとう! – Tiwaz89