【发布时间】:2022-01-08 14:49:45
【问题描述】:
我一直试图让一些 div 在屏幕上可见时简单地淡入。也许我遗漏了一些东西,但这是代码。
我正在使用模块 React-Spring V9 和 React-Visibility-Sensor。
父组件的渲染:
{
ArrayOfText.map(text => (
<VisibilitySensor key={text}>
{({ isVisible }) => (
<MyItem isVisible={isVisible} text={text} />
)}
</VisibilitySensor>
))
}
子组件:
export default function MyItem({ text, isVisible }) {
const animatedStyle = useSpring({
config: { ...config.gentle },
to: {
opacity: isVisible ? 1 : 0
}
});
return (
<animated.div style={animatedStyle} className='large-header-text'>
{text}
</animated.div>
);
}
这样做的原因是 div 在进入视野后会稍微延迟出现在屏幕上。我遇到的问题是没有动画。它只是不透明度 0,然后等待 ~1 秒,然后立即不透明度:1。
如果有人之前遇到过这个问题,请告诉我你是如何解决的!谢谢。
【问题讨论】:
标签: javascript reactjs react-spring