And*_*rew 4 javascript reactjs framer-motion pose
我知道我可以motion像这样直接应用于 element/HTMLtag:
<motion.div>some content</div>
Run Code Online (Sandbox Code Playgroud)
但是我如何将其应用于此?
<Comp />
Run Code Online (Sandbox Code Playgroud)
无需将其包装在另一个 HTML 元素中,例如在React-Transition-Group库中。
Framer API 提供了Frame组件,但它的行为就像具有自己样式的永久附加 HTML 元素,并且弄乱了我的布局。
And*_*rew 17
如果有人来到这个页面寻求如何motion从 Framer-Motion 库应用到你的 React 组件的解决方案,而不是像“div”或“span”这样的直接 DOM 元素,这里是:
motion.custom()
Run Code Online (Sandbox Code Playgroud)
使用示例:
import { Link } from "react-router-dom"
const MotionLink = motion.custom(Link)
return <MotionLink />
Run Code Online (Sandbox Code Playgroud)
至于今天官方文档中没有提到,或者是在某个深奥难找的地方。
我在此处的BUG 报告中找到了它,有一个Codesanbox说明了我的示例,由报告错误的人创建。
小智 15
motion.custom自v4.0起已弃用,取而代之的是motion(Component)或motion("Component")。
你的代码看起来就像这样
const MotionComp = motion(Comp)
return <MotionComp>some content</MotionComp>
Run Code Online (Sandbox Code Playgroud)
不使用任何内部函数,你只需要用任何运动元素包裹它:
<motion.div>
<Comp />
</motion.div>
Run Code Online (Sandbox Code Playgroud)
您可以在文档中的示例中注意到这种行为,例如Side Menu 示例。
| 归档时间: |
|
| 查看次数: |
2733 次 |
| 最近记录: |