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