У меня есть компонент, который внутренне рендерит вход, реквизит onBlur для этого входа подключен к этому входу.Вот упрощенный пример:
componendDidUpdate(prevProps, prevState) {
if (prevState.blur !== this.state.blur) {
this.props.onBlur(event);
}
}
render() {
return <input onFocus={this._handleFocus} onBlur={this._handleBlur} />
}
_handleFocus = event => {
this.setState({blur: false});
}
_handleBlur = event => {
event.persist();
this._lastEvent = event;
this.setState({blur: true});
}
Я хочу уведомить размытие в CDU, потому что есть много событий, которые могут вызвать событие размытия при взаимодействии внутри самого компонента.Но я хочу уведомить пользователя компонента только тогда, когда он переходит из состояния фокусировки в размытое состояние.Но проблема в том, что я не могу получить доступ к объекту события асинхронно, поэтому единственное решение - это сделать event.persist ().Но React Docs говорит, что это делает пул событий из соображений производительности.Можно ли как-то достичь того же эффекта, не сохраняя события?