react本机手势处理程序在ios上不工作

react本机手势处理程序在ios上不工作,ios,react-native,Ios,React Native,我已经安装了react原生手势处理程序,然后将cd刻录到ios并安装了pod。然后,我重新运行react本机运行的ios,但当我刷卡时,仍然没有发生任何事情。我得到零错误,它只是不刷任何东西。我做错什么了吗?我已经尽可能地尝试补救这种情况,但无论发生什么情况,它似乎都不起作用 我的代码如下: import React, {useState} from 'react'; import { Platform, View, Text, StyleSheet, Image, To

我已经安装了react原生手势处理程序,然后将cd刻录到ios并安装了pod。然后,我重新运行react本机运行的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;

import React,{useState}来自“React”;
进口{
平台,
看法
文本,
样式表,
形象,,
可触摸不透明度,
平面列表,
}从“反应本机”;
从“反应本机手势处理程序/Swipeable”导入Swipeable;
const styles=StyleSheet.create({
容器:{
填充:20,
flexDirection:'行',
背景颜色:“#fff”,
justifyContent:'之间的空间',
对齐项目:“居中”,
},
正文:{
尺码:18,
颜色:'#6969',
},
图标:{
身高:30,
色彩:'#6969',
…平台。选择({
ios:{
tintColor:'蓝色',
},
安卓:{
tintColor:'红色',
},
}),
},
分离器:{
弹性:1,
身高:1,,
背景色:“rgba(0,0,0,0.2)”,
},
});
导出常量分隔符=()=>;
常量LeftAction=()=>{
测试
;
};
常量ListItem=({name,onFavoritePress})=>{
const[isFavorite,setIsFavorite]=useState(false);
让星图标;
如果(我最喜欢){
starIcon=Platform.select({
ios:require('../assets/icons/ios star.png'),
android:require('../assets/icons/md star.png'),
});
}否则{
starIcon=Platform.select({
ios:require('../assets/icons/ios star outline.png'),
android:require('../assets/icons/md star outline.png'),
});
}
返回(
{name}
{onFavoritePress&&(
setIsFavorite((prevIsFavorite)=>!prevIsFavorite)}>
)}
);
};
导出默认列表项;

您需要将RNGH链接到RN

运行反应本机链接反应本机手势处理程序

如果这不起作用,也许你没有cocoapads依赖项

安装它


运行
cd&&pod安装

它是否与新版本的react native自动链接检查您的是否自动链接,如果没有,则链接它。如果这不起作用,请阅读下面的内容,直到我尝试刷卡时什么也没有发生