2
x: -20
에서 x: 0
까지 반응 동작을 사용하여 탐색 경로를 애니메이션으로 만들려고합니다.반응 모션의 상태/소품 변경시 애니메이션 다시 시작
Folder > SubFolder > Child
는 빵 부스러기 먼저 렌더링에 완벽하게 애니메이션. 그 후에 props
또는 심지어 state
이 변경되면 애니메이션이 업데이트되지 않습니다. 이것은 known bug 인 것 같습니다.
내 질문은 상태/소품 변경시 애니메이션을 어떻게 "다시 시작"합니까? react-motion
겪고
const getDefaultStyles = crumbs => {
const defaultStyles = crumbs.map(() => ({x: -20}))
console.log(defaultStyles)
return defaultStyles
}
const getStyles = previousInterpolatedStyles => {
return previousInterpolatedStyles.map((_, i) => {
return i === 0 ? {x: spring(0)} : {x: spring(previousInterpolatedStyles[i-1].x)}
})
}
const Breadcrumb = ({ crumbs }) => (
<div className='breadcrumb-container'>
<StaggeredMotion
defaultStyles={getDefaultStyles(crumbs)}
styles={getStyles}>
{
interpolatedStyles =>
<div className='breadcrumb-list'>
{
interpolatedStyles.map(({x}, i) =>
<div className='breadcrumb' key={i} style={{
WebkitTransform: `translate3d(${x}px, 0, 0)`,
transform: `translate3d(${x}px, 0, 0)`
}}>
<a href='#'>Title</a>
</div>
)
}
</div>
}
</StaggeredMotion>
</div>
)
또한 플래시 메시지를 다시 애니메이트하는 문제를 해결했습니다. 첫 번째 렌더링은 항상 괜찮 았지만 다시 렌더링하면 애니메이션이 재설정되지 않았습니다. 'key' prop를'Date.now()'로 설정하면 새로운 플래시 메시지가 나타날 때 항상 다시 애니메이트하기를 원하기 때문에 내 문제를 해결했습니다. – SidOfc