の値を返そうとしていますが.measure
、内部のコードは状態を使用しないとやり取りできないようで、false を返し続けます。内部の値が必要なため、状態の使用を避けようとしていますPanResponder
メジャー関数が false を返す
const showRefPosition = assignedRef => {
let maxHeight = false;
assignedRef.measure((x, y, width, height, pageX, pageY) => {
const maxY = SCREEN_HEIGHT - height;
maxHeight = pageY - maxY < 40;
});
console.log("new maxHeight", maxHeight);
return maxHeight;
};
私がやろうとしているのは、要素の位置をPanResponder
私の問題
内の要素の位置を取得しようとしてPanResponder
いますが、間違った値 (デフォルト値) を取得し続けます。または、内部の状態がPanResponder
更新されません。
パンレスポンダー
const panResponder = useRef(
PanResponder.create({
onMoveShouldSetPanResponder: (event, gestureState) => {
console.log("showRefPosition", showRefPosition(this.AnimatedRef));
if (event.nativeEvent.pageY < 100) {
pan.flattenOffset();
Animated.spring(pan, {
toValue: { x: 0, y: -600 },
}).start();
return false;
}
return Math.abs(gestureState.dy) > Math.abs(gestureState.dx * 3);
},