有没有办法在没有过渡的情况下使用 Material-UI 折叠和抽屉?
Is there a way to use Material-UI Collapse and Drawer without Transition?
我正在使用 material-ui
v1 beta to create navigation on mobile website. The navigation has many nested lists 的折叠和抽屉。
当我单击 expand/collapse 折叠时,在折叠开始动画之前会有明显的延迟。同样的问题也发生在抽屉上。
Collapse 和 Drawer 都使用 Transition 来制作动画。过渡由 react-transition-group
.
提供
为了提高响应速度,我打算使用没有过渡的折叠和抽屉(我不介意没有动画)。有没有办法在没有过渡的情况下使用折叠和抽屉?
P.S。我查看了 Collapse 和 Drawer 的文档,没有找到禁用 Transition 的道具或标志。
Drawer 公开了一个 transitionDuration
道具:
The duration for the transition, in milliseconds. You may specify a single timeout for all transitions, or individually with an object.
将此设置为零可消除过渡效果:
<Drawer transitionDuration={0} ...>
Collapse 提供了一个具有类似描述的 timeout
道具:
The duration for the transition, in milliseconds. You may specify a single timeout for all transitions, or individually with an object.
Set to 'auto' to automatically calculate transition time based on height.
同样,将其设置为零可以消除这种影响。此 codesandbox 是对 material-ui 嵌套列表演示的修改。
请记住,Collapse
只是对使用 Grow
转换的元素的包装。如果您不希望出现动画,您可以根据状态有条件地渲染项目。请参阅此 other codesandbox 示例。
我有一个类似的问题渲染虚拟化列表 material-ui <Card />
与 <Collapse />
面板手风琴效果。
问题在于 <Collapse />
过渡行为。即使将其 timeout
属性 设置为 0
希望没有延迟,它仍然会导致延迟,导致它甚至在 componentDidMount
生命周期之后完成渲染。 <Drawer />
transitionDuration
prop.
也是如此
解决方案
只需删除 <Collapse />
和 <Drawer />
组件即可。只需使用一个状态来切换下划线子组件(比方说<List />
)样式显示。
但是如果真的要动画效果包含,那就用react-virtuoso
代替react-window
我正在使用 material-ui
v1 beta to create navigation on mobile website. The navigation has many nested lists 的折叠和抽屉。
当我单击 expand/collapse 折叠时,在折叠开始动画之前会有明显的延迟。同样的问题也发生在抽屉上。
Collapse 和 Drawer 都使用 Transition 来制作动画。过渡由 react-transition-group
.
为了提高响应速度,我打算使用没有过渡的折叠和抽屉(我不介意没有动画)。有没有办法在没有过渡的情况下使用折叠和抽屉?
P.S。我查看了 Collapse 和 Drawer 的文档,没有找到禁用 Transition 的道具或标志。
Drawer 公开了一个 transitionDuration
道具:
The duration for the transition, in milliseconds. You may specify a single timeout for all transitions, or individually with an object.
将此设置为零可消除过渡效果:
<Drawer transitionDuration={0} ...>
Collapse 提供了一个具有类似描述的 timeout
道具:
The duration for the transition, in milliseconds. You may specify a single timeout for all transitions, or individually with an object. Set to 'auto' to automatically calculate transition time based on height.
同样,将其设置为零可以消除这种影响。此 codesandbox 是对 material-ui 嵌套列表演示的修改。
请记住,Collapse
只是对使用 Grow
转换的元素的包装。如果您不希望出现动画,您可以根据状态有条件地渲染项目。请参阅此 other codesandbox 示例。
我有一个类似的问题渲染虚拟化列表 material-ui <Card />
与 <Collapse />
面板手风琴效果。
问题在于 <Collapse />
过渡行为。即使将其 timeout
属性 设置为 0
希望没有延迟,它仍然会导致延迟,导致它甚至在 componentDidMount
生命周期之后完成渲染。 <Drawer />
transitionDuration
prop.
解决方案
只需删除 <Collapse />
和 <Drawer />
组件即可。只需使用一个状态来切换下划线子组件(比方说<List />
)样式显示。
但是如果真的要动画效果包含,那就用react-virtuoso
代替react-window