javascript - Framer Motion 的 AnimateSharedLayout 不会交叉淡入淡出,以及如何反向缩放内部元素
问题描述
我在我的项目中使用 React Router,并且在“概述”页面上有一个专辑卡列表,在“专辑”页面上有相同的专辑卡列表。唯一的区别是专辑页面略宽。
当有人更改路线时,我希望卡片转换到新的位置/尺寸,所以我已经将我的路由器包裹起来<AnimateSharedLayout type="crossfade">
并给每张卡片相同的layoutId
.
现在,它可以工作了,但我有几个问题,想知道它们是否可以修复(我确定我只是忽略了一些明显的东西)。
我在这里整理了一个精简的示例:https ://codesandbox.io/s/framer-animatesharedlayout-5kdfr (如果您在“概述”和“相册”之间单击,它应该执行转换)。
- 为什么交叉淡化可能无法正常工作?相反,卡片会立即跳转到末尾组件(我猜它忽略
crossfade
了AnimateSharedLayout
组件中的我并使用它来switch
代替?为什么会那样做?) - 有没有办法让卡片的内部组件以某种方式反向缩放?(类似于 Matt 在https://www.framer.com/blog/posts/magic-motion/的帖子中的“更正子组件” )例如,您可以在过渡期间看到文本挤压,即使它的大小相同在开始和结束时。
谢谢!
解决方案
推荐阅读
- java - 如何在我的类中为休眠验证链接注释
- php - Laravel 控制器中的语法错误检查
- bash - 如何将包含时间戳的列转换为 csv 文件中的纪元时间
- batch-file - 添加前导零以使每个文件名具有相同的长度
- javascript - VS2019 在保存或构建时编译 TS 的方式不同,我该如何解决这个问题?
- regex - 根据分隔符从字符串末尾选择字符串的一部分
- javascript - 如何从 pdf 文件生成器将文件下载到 Go 和 React 中的本地客户端
- laravel - 无法在 Laravel 中为模型类设置属性
- aws-api-gateway - 如何为新的 HTTP API 创建包含油门和配额限制的使用计划?
- html - 如何将runat服务器添加到cls文件