- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想为某些组件启用布局动画,但是一旦它被激活,所有正在渲染的组件都会受到布局动画的影响。例如,我有
<container>
<waterfall/>
<menu/>
</container>
最佳答案
我遇到了类似的问题,这是我用 layoutanimation
解决的方法:
解释
在容器组件中保留一个状态变量,作为 Prop 传递给菜单:<menu reload={this.state.doSomethingInMenu}>
在容器组件中,使用 setTimeout
设置菜单变量,以便将控制权传递回 DOM 并呈现更改(没有动画)。运行 setTimeout 后,变量将更新,菜单 Prop 将更改,导致重新加载。
在菜单组件中,检查该变量是否已更新为您期望的值。如果有,请调用 LayoutAnimation.configureNext
.这将导致下一次渲染(只是菜单更改)被动画化。
代码概述
容器组件
getInitialState: function() {
return { doSomethingInMenu: false };
},
// Do something that causes the change
// Then call setTimeout to change the state variable
setTimeout(() => {
this.setState({ doSomethingInMenu: true });
},750)
<menu reload={this.state.doSomethingInMenu} />
componentWillReceiveProps: function(nextProps) {
if (nextProps.reload) {
LayoutAnimation.configureNext(LayoutAnimation.Presets.spring);
// Set the menu state variable that causes the update
this.setState({field: value})
}
},
关于layout - react 原生 : How to selectively enable LayoutAnimation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40222515/
我已经检查了文档,现在它只说了 create, config for animating in new views (see Anim type) update, config for animati
LayoutAnimation 是 React Native 的一部分,它在渲染 View 时自动为组件设置动画。 官方文档在这里: https://reactnative.dev/docs/layo
我有一个带有 layoutAnimation 属性的 LinearLayout,用于自定义 ExpandableListView。像这样: 当我点击列表时,会显示动画。但它只工作一次,并且不会在下一
有没有办法让 TabHost Activity 在每次点击选项卡时都设置动画?现在我将动画应用到选项卡下出现的 Activity ,但它只会每次动画一次(第一次加载时)。它是 View 从左到右进入的
我想为某些组件启用布局动画,但是一旦它被激活,所有正在渲染的组件都会受到布局动画的影响。例如,我有 我只希望对组件菜单使用布局动画,但动画应用于已经有自己的动画代码的瀑布渲染。 这可能
我们有这样的预定义预设。 LayoutAnimation.configureNext(LayoutAnimation.Presets.linear); 但我没有找到一种方法来使用我的自定义预设,例如线
我要为 ListView 的项目提供布局动画,我之前使用了 android:layoutAnimation。 // ../res/anim 我尝试在适配器中提供以下代码。 public View
我在 menu.xml 中有以下 XML,它是我需要设置动画的 LinearLayout,所以我使用 layoutAnimation 属性。没有这个属性,布局显示完美,但是设置了这个属性后,我得到了一
我正在尝试使用 XML 属性 android:layoutAnimation 在我的 RecyclerView 中执行自定义动画。 问题是:当我直接在 Activity 的 onCreate() 中填
我正在使用 Jest 和 react-native-testing-library测试我的组件。 在我的一个组件中,我有以下代码: const handleToggleFilters = () =>
我正在尝试在用户滑动元素并将其从列表中删除时添加流畅的动画。 它在 iOS 上运行良好,但在 Android 上根本无法运行。 这是我在构造函数中放入的内容 constructor() {
我正在尝试关注这个 example (代码 here )并在我的 RN 项目中使用 LayoutAnimation(与该示例的不同之处在于我只想渲染我的圈子而没有按钮会被按下)。 但是,当我添加 La
我是一名优秀的程序员,十分优秀!