Как сделать плавное появление и исчезновение в React?
Добрый день.
Ломаю голову как сделать плавное появление и исчезновение уведомление в React.
Подозреваю что нужно играться с функциями жизненного цикла компонена, вроде componentDidMount и componentWillUnmount, но до конца не могу понять.
Может, при вставке компонента в DOM давать классу opacity: 0, а потом в componentDidMount ставить таймером setState({ visibility: true }) а в компоненте style={ this.state.visibility ? { opacity: 1 } : { opacity: 0 } } ?
Или может быть прямо из componentDidMount есть доступ к элементу для прямого присвоения opacity?
Aves: да, можно) Вопрос только что дальше делать. Взяли мы в componentDidMount элемент, навесили на него opacity: 1 но анимации нету, а если таймаут в 50мс поставить - уже есть. Странно
Дмитрий: componentDidMount выполняется после вставки элементов в dom, но до того, как браузер успевает закончить их отрисовку, скорее всего из-за этого. Ниже правильно написали, setTimeout или requestAnimationFrame обычная практика.