Я пытаюсь анимировать высоту элемента с помощью ReactCSSTransitionGroup
,
так что я хочу, чтобы анимация выглядела так:
http://jsfiddle.net/cherrry/hgk4Lme9/
Проблема в том, что я не всегда знаю высоту элемента,
поэтому я попытался взломать scrollHeight
, clientHeight
или что-то подобное во время componentDidMount
и попытаться установить node.style.height
или добавить правила в таблицу стилей
http://jsfiddle.net/cherrry/dz8uod7u/
Оставшаяся анимация выглядит неплохо, однако, когда элемент входит, она немного мигает, а анимация масштабирования выглядит странно.
Должно быть, из-за того, что запрос node.scrollHeight
вызвал немедленный рендеринг, так или иначе, чтобы получить ту же информацию и ввести правила css до начала анимации? Или я должен думать иначе?
Я не очень доволен решением max-height
, так как полученная скорость анимации будет очень странной, если max-height
не приближается или меньше к height
, а высота моих компонентов сильно варьируется.
Я мог представить, что окончательное решение может быть немного грязным, но я думаю, что создание его в Mixin будет достаточно хорошим, чтобы повторно использовать его в любом месте