Я создал карусель с React.js, это было просто, пока я не добрался до проблемы с анимацией. Карусель классический, он состоит из «слайдов» контента, небольших пуль, обозначающих текущий слайд, и небольших миниатюр для навигации между слайдами.Анимация пользовательской карусели с помощью React.js
Компонент карусели управляется данными, что означает, что он передал его содержимое как массив объектов javascript. Каждый слайд является тегом li
в пределах ul
, и просто нужно изменить свойство margin-left
css ul
для перемещения с одного слайда на другой.
Мне интересно, следует ли использовать ReactTransitionGroup
или ReactCSSTransitionGroup
для анимирования перехода с одного слайда на другой. В основном переход является скользящим эффектом слева направо при переходе с одного слайда на другой.
Я понимаю, что API ReactTransitionGroup
s полезен при добавлении или удалении некоторого содержимого. Здесь я не буду добавлять/удалять слайд, меняя видимый на анимацию.
Мое затруднение, обертывающее мою голову вокруг этого, заключается в том, что я разработал старую (ака без анимации) карусель, где текущий отображаемый слайд является единственным состоянием, сохраненным в компоненте. Это состояние является только показателем слайда в массиве слайдов. Поэтому, когда я нажимаю миниатюру, чтобы переместить номер слайда n
, единственное, что я делаю, это обновление этого внутреннего состояния, тогда рендеринг позаботится о настройке свойства стиля left
на основе этого индекса.
Я не вижу, как я могу добавить анимацию в эту карусель. Любая помощь/подсказка получили высокую оценку.
Вы можете просто использовать переходы CSS3 на полях слева; единственная сложная часть - когда вы в конце и хотите перейти к индексу 0. – FakeRainBrigand
Mmmh ... Часть «end» уже позаботилась о моем коде, поэтому он должен сделать трюк. Благодаря ! – DjebbZ
Не могли бы вы поделиться своим кодом, чтобы другие могли извлечь выгоду из этого. – myusuf