2

の値を返そうとしていますが.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);
      },
4

0 に答える 0