Закрыть Swipeable функциональный компонент - PullRequest
1 голос
/ 18 января 2020

У меня есть Flatlist, отображаемое со следующими ListItemSwipeable, и они содержат renderRightActions функцию RightActionsButton. Смахивание работает и кнопка появляется. Тем не менее, я не могу добиться того, чтобы кнопка исчезла, когда другой элемент проведен или нажата кнопка.

const RightActionsButton = ({ progress, dragX, onPress }) => {
    const scale = dragX.interpolate({
      inputRange: [-100, 0],
      outputRange: [1, 0],
      extrapolate: "clamp"
    });
    return (
      <TouchableOpacity onPress={onPress}>
        <View>
          <Animated.Text style={{ transform: [{ scale }] }}>
            Button!
          </Animated.Text>
        </View>
      </TouchableOpacity>
    );
  };

 const ListItemSwipeable = ({data, onAction}) => {
        return (
            <Swipeable
            renderRightActions={(progress, dragX) => (
                <RightActionsButton progress={progress} dragX={dragX} onPress={onAction} />
              )}
            >
            <View>
                <Text>{data}</Text>
            </View>
          </Swipeable>
        )
    }
    };

Есть некоторые подсказки здесь , однако он основан на классах, и он понадобится мне для компонента на основе функций.

...