小编Mar*_*rat的帖子

退出时使用的 React CSSTransition 错误类

更新:

对于那些面临同样问题的人:我在 ReactTransitionGroup 的 git 页面上发现了一个类似的问题,其中有解决方案:https : //github.com/reactjs/react-transition-group/issues/182

老实说,90% 的解决方案让我印象深刻,我根本不明白,这是唯一对我有意义的部分(取自React TransitionGroup 和 React.cloneElement 不发送更新的道具这与 git 问题相关):

传递道具给孩子? 现在的问题是,为什么没有更新的道具被传递给离开元素?那么,它会如何获得道具呢?道具从父组件传递给子组件。如果您查看上面的示例 JSX,您可以看到离开元素处于分离状态。它没有父级,它只是被渲染,因为 将它存储在它的状态中。

我必须进一步研究和了解父组件和子组件的通信方式。我仍然是 Web 开发的新手,但事情正在慢慢开始变得有意义。

------------------

最初提出的问题:

当您尝试通过 React.cloneElement 将状态注入到您的子组件时,离开组件不是这些子组件之一。

我有一个包含导航菜单和嵌套在开关容器之间的路由的小应用程序。每次单击导航项时,我都会检查索引是更高还是更低以相应地设置动画状态(左或右),然后存储单击的导航项的新索引。

每次我切换路线时,应用的动画要么是淡入淡出,要么是淡入淡出。现在这一切正常,但唯一的问题是当类从左向右切换时,应用的 EXIT 动画使用给定的前一个类。

我理解为什么会发生这种情况,这是因为使用的退出类是最初设置的,当新类仅应用于第二次更改时,新的退出才会生效。转换文档非常有限,我找不到任何东西。

const { Component } = React;
const { TransitionGroup, CSSTransition } = ReactTransitionGroup;
const { HashRouter, Route, NavLink, Switch, withRouter } = ReactRouterDOM;

var icons = [
 {icon: 'far fa-address-book active', path: '/'},
 {icon: 'fab fa-linkedin', path: '/linked'},
 {icon: 'fas fa-gamepad', …
Run Code Online (Sandbox Code Playgroud)

reactjs react-transition-group

4
推荐指数
1
解决办法
2185
查看次数

标签 统计

react-transition-group ×1

reactjs ×1