针对孩子的React Native FlatList onPress

时间:2017-07-18 21:06:37

标签: react-native react-native-flatlist

我试图为一个嵌套在React Native FlatList中的图像连接一个印刷处理程序。我已经验证了函数是通过props传递的,通过直接在我的组件中调用函数并且工作正常。下面是一个简化的测试用例。我也尝试在图像上设置onPress,结果相同。

const PostList = ({posts, onActLike, currentUser}) => {
  return (
    <FlatList
      data={ posts }
      keyExtractor={ (item) => item.id }
      renderItem={ ({item}) => {
        return (
          <View>
            <Image
              source={ {uri: item.media.url} }
              resizeMode="cover"
            />
            <View>
              <View
                onPress={ (item) => {
                  onActLike(item);
                } }
              >
                {
                  currentUser.likedMedia.indexOf(item.id) > -1 &&
                    <Image
                      source={ require('../assets/images/like_filled.png') }
                      style={ {width: 20, height: 17} }
                      resizeMode='contain'
                    />
                }
                {
                  currentUser.likedMedia.indexOf(item.id) === -1 &&
                    <Image
                      source={ require('../assets/images/like_unfilled.png') }
                      style={ {width: 20, height: 17} }
                      resizeMode='contain'
                    />
                }
              </View>
            </View>
          </View>
        )
      } }
    />
  )
}

1 个答案:

答案 0 :(得分:12)

false不接受parser.TextFieldType = FieldType.Delimited; parser.SetDelimiters(","); parser.HasFieldsEnclosedInQuotes = true; parser.TrimWhiteSpace = false; // added so white space characters in CSV will be retained 函数,也不接受View。你需要将视图包装在Touchable中(TouchableOpacity,TouchableHighlight等)