При анимации элемента в React мы можем использовать фрагмент, такие как:Что делает переходEnterTimeout/transitionLeaveTimeout на самом деле в React?
<div>
<button onClick={this.handleAdd}>Add Item</button>
<ReactCSSTransitionGroup transitionName="example" transitionEnterTimeout={500} transitionLeaveTimeout={300}>
{items}
</ReactCSSTransitionGroup>
</div>
вместе с Дополняющими CSS анимацией.
Я прочитал документацию (найти здесь: https://facebook.github.io/react/docs/animation.html)but Я не 100% уверен, что два тайма-аута атрибуты на самом деле я бы догадку и сказать, что они являются запасным вариантом, если анимация не завершится
?Если эти значения совпадают с CSS в/из значений длительности, или они должны быть больше, чем значения анимации?
.example-enter {
opacity: 0.01;
}
.example-enter.example-enter-active {
opacity: 1;
transition: opacity 500ms ease-in;
}
.example-leave {
opacity: 1;
}
.example-leave.example-leave-active {
opacity: 0.01;
transition: opacity 300ms ease-in;
}
Как и в последующем, реквизиты '* Timeout' на самом деле ничего не делают, если применяемый класс имеет связанный с ним переход или анимацию. Вы можете установить значение так, как хотите, и 'ReactCSSTransitionGroup' просто игнорирует его в пользу прослушивания событий« animationEnd »или« transitionEnd », которые выбрал браузер. Единственный раз, когда эти значения делают что-либо, это когда класс не имеет переходов или анимаций. –
@ noob-in-need Я не думаю, что это полностью верно - (по крайней мере, не в текущей версии). Если я установил действительно высокий тайм-аут, но мало времени анимации, анимация завершится, но элемент не будет удален до тех пор, пока не произойдет время перехода – Chris