【问题标题】:Is there a way to delay the rendering of a component in react有没有办法在反应中延迟组件的渲染
【发布时间】:2020-11-20 23:51:48
【问题描述】:

我有一个组件正在使用 React Transition Group 为组件设置动画,因为它从一个组件更改为下一个组件。

我遇到的问题是下一个组件在当前动画完成之前加载,所以看起来有点奇怪。

如果可以在组件更新时延迟 render() 方法,我想我可以解决这个问题,因为它永远不会真正卸载,这就是组件闪烁下一个图像的原因。

这里涉及的代码太多,所以我将我的 github 公开,并在那里创建了一个 issue 以显示我正在经历的事情。

您还可以查看该调试会话的实时站点。 stevensheaves.me

另外,没有判断力,它不是 100% 完成的。

【问题讨论】:

    标签: css reactjs animation render react-transition-group


    【解决方案1】:

    您可以简单地使用转换组的回调,即onEntered

    在移除 'enter' 或 'appear' 类并将 done 类添加到 DOM 节点后立即触发回调。

    您可以使用标志变量来显示您的内容。触发回调时设置为trueonEntering时设置为false

    【讨论】:

    • 但是为了像你说的那样使用标志变量,我必须在我的动作触发时将其设置为 false,这会导致当前正在动画的内容消失,不是吗?
    • @StevenSheaves 只有过渡组的孩子
    • Karagoz 也许这就是我所缺少的。我没有将我的组件作为过渡组的子组件,只有 CSSTransition 我会看看这是否会有所不同。
    • 所以当我使用过渡组时,我遇到了一些非常奇怪的行为,不知道如何描述它,因为你真的必须在这里才能看到它
    • 好吧,我至少有一个创可贴......我刚刚到达了正在淡出的卡片的不透明度立即设置为 0 且没有过渡的地方,所以你只有看到边框淡出。无论如何都不是永久修复,但它看起来不再糟糕了,所以我可以专注于项目的核心,直到我能回到它并找到更好的解决方案。
    猜你喜欢
    • 2016-01-10
    • 1970-01-01
    • 2011-07-07
    • 2023-03-29
    • 2017-08-26
    • 2015-08-28
    • 2018-07-03
    • 2016-02-17
    • 1970-01-01
    相关资源
    最近更新 更多