当组件中任何图像的更改源发生眨眼时,我会尽量避免。
为此我搜索并决定使用ref(直接操作)
但是它确实会改变任何东西,所以我使用传统方式,在状态中更改url属性,它可以工作但是会发生眨眼。
更改图像源,在图像开始移动时触发;(" onPanResponderStart")功能。这是代码;
onPanResponderStart:(e, gesture)=>{
//not change image!
// this.refs['refTabure'].setNativeProps({
// source: require('../newImage.png')
// });
//it works, but blink occurs
this.setState({tabureSagImageUrl:require('../newImage.png')})
},
...
return (
<View style={styles.TabureStyle}>
<Animated.Image ref="refTabure" style={[panStyle, styles[this.props.Name], {opacity:this.state.opacity}]}
{...this.panResponder.panHandlers}
source={this.state.tabureSagImageUrl}>
</Animated.Image>
</View>
);
如何在不重新渲染导致闪烁的组件的情况下编辑图像源?