реагировать-родной-жест-обработчик не работает на ios - PullRequest
0 голосов
/ 12 июля 2020

У меня yarn установлен обработчик react-native-gesture-handler, затем я записал cd в ios и установил pod. Затем я перезапускаю run-native run- ios, и все равно, когда я смахиваю, ничего не происходит. Я получаю ноль ошибок, он просто не смахивает вообще. Я делаю что-то неправильно? Я попытался исправить эту ситуацию любым возможным способом, и он просто не смахивает, несмотря ни на что.

мой код выглядит следующим образом:

import React, {useState} from 'react';
import {
  Platform,
  View,
  Text,
  StyleSheet,
  Image,
  TouchableOpacity,
  flatList,
} from 'react-native';
import Swipeable from 'react-native-gesture-handler/Swipeable';
const styles = StyleSheet.create({
  container: {
    padding: 20,
    flexDirection: 'row',
    backgroundColor: '#fff',
    justifyContent: 'space-between',
    alignItems: 'center',
  },
  text: {
    fontSize: 18,
    color: '#69696969',
  },
  icon: {
    height: 30,
    tintColor: '#69696969',

    ...Platform.select({
      ios: {
        tintColor: 'blue',
      },
      android: {
        tintColor: 'red',
      },
    }),
  },
  separator: {
    flex: 1,
    height: 1,
    backgroundColor: 'rgba(0, 0, 0, 0.2)',
  },
});

export const Separator = () => <View style={styles.separator} />;

const LeftAction = () => {
  <View>
    <Text>test</Text>
  </View>;
};

const ListItem = ({name, onFavoritePress}) => {
  const [isFavorite, setIsFavorite] = useState(false);
  let starIcon;
  if (isFavorite) {
    starIcon = Platform.select({
      ios: require('../assets/icons/ios-star.png'),
      android: require('../assets/icons/md-star.png'),
    });
  } else {
    starIcon = Platform.select({
      ios: require('../assets/icons/ios-star-outline.png'),
      android: require('../assets/icons/md-star-outline.png'),
    });
  }

  return (
    <Swipeable renderLeftActions={LeftAction}>
      <View style={styles.container}>
        <Text style={styles.text}>{name}</Text>
        {onFavoritePress && (
          <TouchableOpacity
            onPress={() => setIsFavorite((prevIsFavorite) => !prevIsFavorite)}>
            <Image style={styles.icon} resizeMode="contain" source={starIcon} />
          </TouchableOpacity>
        )}
      </View>
    </Swipeable>
  );
};

export default ListItem;

1 Ответ

0 голосов
/ 13 июля 2020

Вам необходимо связать RNGH с RN

запустить react-native link react-native-gesture-handler

если это не работает, возможно, у вас нет зависимостей cocoapads

для его установки

пробег cd <your-ios-code-directory> && pod install

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...