React native 如何实现、反应本机拖放
我想实现react本地拖放,在拖放时交换组件。假设屏幕上有五个组件,一旦我拖动它,它应该突出显示dropable元素。一旦拖放,组件应该交换。为了实现拖放,您需要使用pan响应程序。首先,您需要定义对象移动时将值存储在何处,您可以在状态上设置属性React native 如何实现、反应本机拖放,react-native,React Native,我想实现react本地拖放,在拖放时交换组件。假设屏幕上有五个组件,一旦我拖动它,它应该突出显示dropable元素。一旦拖放,组件应该交换。为了实现拖放,您需要使用pan响应程序。首先,您需要定义对象移动时将值存储在何处,您可以在状态上设置属性 state = { pan: new Animated.ValueXY(), }; 然后您必须在组件willmount中创建pan响应程序,例如: this.panResponder = PanResponder.create({ o
state = {
pan: new Animated.ValueXY(),
};
然后您必须在组件willmount
中创建pan响应程序,例如:
this.panResponder = PanResponder.create({
onStartShouldSetPanResponder : () => true,
onPanResponderMove : Animated.event([null,{ // <--- When moving
dx : this.state.pan.x,
dy : this.state.pan.y
}]),
onPanResponderRelease : (e, gesture) => {} // <--- callback when dropped
});
this.panResponder=panResponder.create({
onStartShouldSetPanResponder:()=>true,
onPanResponderMove:Animated.event([null,{/{}//我已经尝试过了,但是我想拖放圆圈并交换它们和它们的值。然后,您所要做的就是在拖放元素时创建动画;)
<Animated.View
{...this.panResponder.panHandlers}
style={[this.state.pan.getLayout(), styles.circle]}>
<Text style={styles.text}>Drag me!</Text>
</Animated.View>