[英]React + Framer Motion fading out functional component
所以我创建了这个预加载器,它显示 var loading = true 但我希望加载器淡出。 这就是我的文件的样子。
包含所有内容的主页。
return (
<>
{loading ? (
<Loading />
) : (
<>
<Navbar />
<Hero />
<About />
<Skills />
<Contact />
</>
)}
</>
);
加载 function 文件
const Loading = () => {
const pathVariants = {
hidden: {
opacity: 0,
pathLength: 0,
},
visible: {
opacity: 1,
pathLength: 1,
transition: {
duration: 2,
ease: 'easeInOut',
},
},
};
const cVariants = {
hidden: {
opacity: 0,
},
visible: {
opacity: 1,
transition: {
duration: 1,
ease: 'easeInOut',
delay: 2,
},
},
};
return (
<>
<AnimatePresence>
<motion.div initial={{ opacity: 0 }} animate={{ opacity: 1 }} exit={{ opacity: 0 }}>
<PreLoader>
<Header>
<motion.svg
width='286'
height='209'
viewBox='0 0 286 209'
fill='none'
xmlns='http://www.w3.org/2000/svg'
>
<motion.g variants={cVariants} initial='hidden' animate='visible'>
<path
id='C'
d="svglol"
fill='#FF564A'
/>
</motion.g>
<motion.g>
<motion.path
id='Polygon 1'
d="svglol"
stroke='#FF564A'
variants={pathVariants}
initial='hidden'
animate='visible'
/>
</motion.g>
</motion.svg>
</Header>
</PreLoader>
</motion.div>
</AnimatePresence>
</>
);
};
导出默认加载;
那么我怎样才能使 Loading function 淡出呢? 我尝试了很多东西,例如围绕加载器本身包裹的 AnimatePresence,但这似乎不起作用。 (顺便说一句,我也在使用样式组件)
return (
<AnimatePresense>
{loading ? (
<Loading key="loading" />
) : (
<React.Fragment key="main">
<Navbar />
<Hero />
<About />
<Skills />
<Contact />
</ React.Fragment>
)}
</AnimatePresense>
);
让这个工作的提示
我知道这很无聊,但我可能会重读几次 AnimatePresense 文档。 在弄清楚所有问题之前,我必须亲自阅读 2 或 3 遍
干杯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.