Я использую пакет response-bodymovin (https://www.npmjs.com/package/react-bodymovin), чтобы встроить анимацию Bodymovin, но я хотел зациклить часть анимации после того, как она проигралась один раз.
Я вижу, что использовать HTML-версию Bodymovin просто, поскольку вы просто используете для этого соответствующие методы, например (при условии, что div имеет идентификатор bodymovin
:
const params = {
container: document.getElementById('bodymovin'),
renderer: 'svg',
loop: false,
autoplay: false,
animationData: animationData,
}
const anim = bodymovin.loadAnimation(params)
anim.playSegments([[0, 65]], true)
Однако я не уверен, как получить доступ к этим же методам при использовании компонента React. Вот моя составляющая:
import React from 'react'
import ReactBodymovin from 'react-bodymovin'
import animation from './animation.json'
const App = () => {
const bodymovinOptions = {
loop: true,
autoplay: true,
prerender: true,
animationData: animation
}
return (
<div>
<ReactBodymovin options={bodymovinOptions} />
</div>
)
}
У меня такое ощущение, что из-за того, как эта оболочка React работает с Bodymovin, может быть невозможно получить доступ к методам в файле, но если кто-то знает способ сделать это, я хотел бы это услышать. Спасибо.