我有一个需要防抖处理的字段的onchange
事件,我使用underscore来处理,但是当我使用防抖处理时,传递给React处理程序的事件似乎已经过时了。
<div className='input-field'>
<input onChange={_.debounce(this.uriChangeHandler.bind(this), 500)} id='source_uri' type='text' name='source_uri' autofocus required />
<label htmlFor='source_uri'>Website Link</label>
</div>
uriChangeHandler(event) {
event.preventDefault();
let uriField = $(event.target);
let uri = uriField.val();
this.setState({
itemCreateError: null,
loading: true
});
this.loadUriMetaData(uri, uriField);
}
我遇到了这个错误:
警告:出于性能原因,此合成事件正在被重复使用。如果您看到此消息,则在已释放/无效的合成事件上调用了preventDefault。这是一个空操作。有关更多信息,请参见https://fb.me/react-event-pooling。
如果不使用防抖器,使用 onchange 是没有问题的。
this.debouncedUriChangeHandler = _.debounce(this.uriChangeHandler, 500);
,但是仍然出现了相同的错误。 - rcjsdev