U
U
uzi_no_uzi2019-08-08 18:12:37
JavaScript
uzi_no_uzi, 2019-08-08 18:12:37

How to disable event bubbling in React?

return(

    <div className='portfolio-panel' id='porfolioPanel' ref={this.props.link}>
        <div className='portfolio-panel-background' ref={this.props.linkCircle} onTransitionEnd={this.showWorks} >
            <ReactCSSTransitionGroup
                transitionName='portfolio-panel__information'
                transitionEnterTimeout={500}
                transitionLeaveTimeout={500}>
                    {middleElementCircle}
            </ReactCSSTransitionGroup>
            <div style={diskStyle} className='portfolio-panel-disk' id='portfolio-panel-disk'>
                <ReactCSSTransitionGroup
                transitionName='work-item'
                transitionEnterTimeout={500}
                transitionLeaveTimeout={500}>
                    {workItems}
                </ReactCSSTransitionGroup>
            </div>
        </div>
    </div>
)

В данном примере кода отлавливается событие onTransitionEnd={this.showWorks}, когда заканчивается анимация, нужно отобразить элемент внутри ReactCSSTransitionGroup, ReactCSSTransitionGroup сам работает через transition и судя по всему срабатывает та же самая функция onTransitionEnd={this.showWorks} и элемент пропадает. В итоге анимация работает в одну и в другую сторону сразу. Я думаю это из-за всплытия события, как его можно отключить в React?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
0
0xD34F, 2019-08-08
@uzi_no_uzi

Just like everywhere else :

stop(e) {
  e.stopPropagation();
}

onTransitionEnd={this.stop}

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question