我有一个内部渲染输入的组件,该输入的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文档说它出于性能原因进行事件池。有什么方法可以在不保留事件的情况下达到相同的效果?