Ho un problema con JavaScript e non sono sicuro di come risolverlo.Passa una funzione anonima a onPanResponderMove
Nella mia applicazione React Native, ho un panResponder e sto usando questo hook per chiamare Animated.event.
this.panResponder = PanResponder.create({
/* ... some other methods ... */
onPanResponderMove: Animated.event([null, { dx: this.state.x, dy: this.state.y }]),
});
Anche se, mi piacerebbe che l'hook fosse una funzione anonima, invece, per poter fare altre cose. Ho provato un modo diverso di utilizzare una funzione anonima, ma non riesco a farlo funzionare.
this.panResponder = PanResponder.create({
/* ... some other methods ... */
onPanResponderMove: (event, gestureState) => {
this.callSomething();
return Animated.event([null, { /* I'm not sure what to pass here to map with gestureState... */ }]);
},
});
Ho letto la documentazione ma anche con quella non lo so ancora.
Potete aiutarmi?
Grazie.
Aggiornamento:
ho finalmente fatto qualcosa di simile:
let valueY;
this.panResponder = PanResponder.create({
/* ... some other methods ... */
onPanResponderGrant:() => {
valueY = this.state.y._value;
},
onPanResponderMove: (event, gestureState) => {
this.callSomething();
let panY = valueY + gestureState.dy;
this.state.y.setValue({ y: panY });
},
});
non credo che sia il modo migliore per farlo se ...
Qual è esattamente il problema? La sintassi nella seconda versione sembra corretta. C'è un errore reale? La funzione non viene chiamata? "non può farlo funzionare" è troppo vago. – rooftop
La sintassi semplicemente non funziona senza errori, quando provo a spostarlo non si muove più – alexmngn