javascript - 无法在 "width"或 "left"属性上应用 ReactCSSTransitionGroup

标签 javascript css reactjs

我正在使用 React 使用他们的 ReactCSSTransitionGroup 插件来为 div 的宽度设置动画。请检查 fiddle here .

点击,每次点击红色的div都会模拟一次转场。

opacity 过渡在这种情况下运行良好。但是,任何其他属性,如 widthheightlefttop(对于绝对定位的元素)都不起作用.这可能是什么问题?

最佳答案

在尝试使用比不透明度更复杂的过渡之前,准确了解 ReactCSSTransitionGroup 的工作原理很重要。

当您指定一个转换名称为example 时,调用render() 时会发生以下步骤:

  1. 组件被渲染到 DOM 类 example-enter
  2. 下一步:组件添加类 example-enter-active
  3. 下一步:example-enterexample-enter-active 从 Component 类中移除。

卸载组件时,会发生以下步骤:

  1. 组件接收类 example-leave
  2. 下一步:组件删除类 example-leave 并添加类 example-leave-active
  3. 下一步:组件从 DOM 中移除

由于添加/删除这些类的方式,我发现为 max-widthmax-height 设置动画比 更直观>宽度高度

我已经编辑了你的 fiddle 来举个例子:

http://jsfiddle.net/kb3gN/11374/

关于javascript - 无法在 "width"或 "left"属性上应用 ReactCSSTransitionGroup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30756369/

相关文章:

javascript - 在 AngularJS + JavaScript 中进行日期比较后将类应用于列

javascript - Karma 和 CoffeScript 以及代码覆盖率

javascript - addClass 上的容器折叠

javascript - 使用 D3 中的 Tipsy 使悬停文本变小

javascript - 使用 javascript 修改复选框行为

javascript - 如何循环遍历数字数组并将它们与具有相同 id 的对象数组进行匹配

html - jQuery Mobile 类似 iPhone 的图片库

javascript - 渲染后修改 React 组件中的元素

javascript - 从react-bootstrap导入任何组件都会抛出错误

reactjs - 如何修复菜单material-ui的阴影