Javascript 如何在React Native中从Flatlist数组设置单个项目的动画
我有一个数据数组,我在React Native的flatlist中呈现。当我按下单个项目时,我只想设置它的动画。。我有点困惑,无法确定如何制作动画。。谁能给我看看并解释一下吗?因为我找不到任何用平面列表渲染解释的解释Javascript 如何在React Native中从Flatlist数组设置单个项目的动画,javascript,reactjs,react-native,animation,Javascript,Reactjs,React Native,Animation,我有一个数据数组,我在React Native的flatlist中呈现。当我按下单个项目时,我只想设置它的动画。。我有点困惑,无法确定如何制作动画。。谁能给我看看并解释一下吗?因为我找不到任何用平面列表渲染解释的解释 constructor(props){ super(props); this.state = { animation: new Animated.Value(1) } startAnimation (x){ Animated.timing(this.s
constructor(props){
super(props);
this.state = { animation: new Animated.Value(1) }
startAnimation (x){
Animated.timing(this.state.animation, {
toValue: 1.5,
duration: 1500
}).start();
}
_renderItem = ({item, index}) => {
return(
<Animated.View key={index} style={{margin: 10, transform:[{scale: this.state.animation}]}}>
<TouchableOpacity onLongPress={() => this.activateItem(item.id)} onPress={() => this.startAnimation(index)}>
<Image source={ images[item.item_id].uri } style={{width: 60, height: 60}}/>
</TouchableOpacity>
</Animated.View>
);
};
render(){
return(
<View style={{flex: 1}}>
<FlatList
numColumns={4}
data={this.state.items}
renderItem={this._renderItem}
keyExtractor={this._keyExtractor}
extraData={this.state.animation}
/>
</View>
);
}
constructor(props){
超级(道具);
this.state={animation:new Animated.Value(1)}
startAnimation(x){
动画。计时(this.state.animation{
toValue:1.5,
持续时间:1500
}).start();
}
_renderItem=({item,index})=>{
返回(
this.activateItem(item.id)}onPress={()=>this.startAnimation(index)}>
);
};
render(){
返回(
);
}
您需要做的是在另一个组件中隔离项目和动画状态,然后每个项目都将有自己的动画,当单击此项目时,只有他将被设置动画!
您需要做的是在另一个组件中隔离项目和动画状态,然后每个项目都将有自己的动画,当单击此项目时,只有他将被设置动画!
也许您可以制作一个listItem组件,并在该组件中配置动画,而不是在父组件中配置动画如果您认为可以,请为我写一个小示例好吗?因此,我可以批准它作为答案,然后如果它能工作也许你可以制作一个listItem组件,在该组件内配置你的动画,而不是在父组件中配置你的动画如果你认为它能工作,你能为我写一个小例子吗?因此,我可以批准它作为答案,然后如果它将工作,你可以写它作为代码与小例子。。所以这将是更容易理解的它看起来像它的工作,等等,我会检查,并告诉你全部。是的,我检查过了,效果很好!谢谢你,伙计。。对于新手和喜欢的人来说,有时很难理解这些简单的东西。。感谢您的努力。也许可以将它添加到您的答案中,这样阅读它的人就可以轻松地从代码中理解它,而不是检查链接。你也可以在你的答案中附上链接。你能用小例子把它写成代码吗。。所以这将是更容易理解的它看起来像它的工作,等等,我会检查,并告诉你全部。是的,我检查过了,效果很好!谢谢你,伙计。。对于新手和喜欢的人来说,有时很难理解这些简单的东西。。感谢您的努力。也许可以将它添加到您的答案中,这样阅读它的人就可以轻松地从代码中理解它,而不是检查链接。你也可以在回答中附上链接。