使用 CSS 动画帧或您选择的 JavaScript 动画库为 Radix Primitives 添加动画。
为 Radix Primitives 添加动画应该和其他组件类似,但需要注意在使用 JS 动画库时与退出动画相关的一些注意事项。
为 Primitives 添加动画的最简单方法是使用 CSS。
您可以使用 CSS 动画来处理挂载和卸载阶段。后者之所以可行,是因为 Radix Primitives 会在动画播放时暂停卸载。
当许多状态 Primitives 被隐藏时,它们实际上是从 React 树中移除的,它们的元素也从 DOM 中移除了。JavaScript 动画库需要控制卸载阶段,因此我们在许多组件上提供了 forceMount
属性,以允许消费者根据这些库确定的动画状态来委托子项的挂载和卸载。
例如,如果您想使用 React Spring 来为 Dialog
动画,您可以通过根据其钩子之一(如 useTransition
)中动画状态有条件地渲染对话框的 Overlay
和 Content
部分: