将事件对象发送到没有event.persist的回调

时间:2018-09-10 13:20:07

标签: javascript reactjs javascript-events

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

0 个答案:

没有答案