Как использовать PanResponder с индексом - PullRequest
0 голосов
/ 18 июня 2020
• 1000 отображать несколько элементов на экране. чем я перемещаю элемент 0index, работает правильно, перемещается к другому элементу индекса, чем ответчик панорамирования не перемещается. Помогите, пожалуйста, заранее спасибо
 //Code

    {this.state.cards.map((d, index) => (
                                    <Svg width={Dimensions.get('window').width} height={Dimensions.get('window').height}>
                                        <Image
                                            key={index}
                                            {...this.getPanResponder(index).panHandlers}
                                            x={d.x}
                                            y={d.y}
                                            width="60"
                                            height="100"
                                            opacity="1"
                                            href={d.image}
                                        />
                                    </Svg>

                                ))}

     getPanResponder(index) {
            return this.panResponder = panResponder.create({

                onStartShouldSetPanResponder: (evt, gestureState) => false,
                onStartShouldSetPanResponderCapture: (evt, gestureState) =>
                    true,
                onMoveShouldSetPanResponder: (evt, gestureState) => true,
                onMoveShouldSetPanResponderCapture: (evt, gestureState) =>
                    true,

                onPanResponderMove: (evt, gesture) => {
                    this.setState({ x: gesture.dx, y: gesture.dy })

                    var items = this.state.cards;
                    items[index].x = evt.nativeEvent.locationX;
                    items[index].y = evt.nativeEvent.locationY;
                    this.setState({ cards: items });
                },

                onPanResponderRelease: (evt, gs) => {
                    this.setState({ x: evt.nativeEvent.locationX, y: evt.nativeEvent.locationY })
                },
                onPanResponderTerminate: (evt, gestureState) => {
                },
                onShouldBlockNativeResponder: (evt, gestureState) => {
                    return true;
                },
            })
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...