Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.2k views
in Technique[技术] by (71.8m points)

react native - Touchable components are not working in ReactNative when used inside ScrollView ->Flat-List ->map for iPhone 6s only

The onPress function of all touchables is not triggering the function when used inside ScrollView -> Flat-List -> map for iPhone 6s only. The code is working fine for all other devices (iPhone X, iPhone11 etc). The problem is resolved when I used onPressIn but it degrades the user experience.

<ScrollView horizontal showsHorizontalScrollIndicator={false}>
          <FlatList
            data={props.seats}
            keyExtractor={(index) => `seater${index}`}
            scrollEnabled={false}
            renderItem={({ item, index }) => (
                { props.seats[index].map(
                    (object, i) => (
                      <TouchableOpacity onPress={() => alert("Helllo")}>
                      </TouchableOpacity>
                    )
                  )}
            )}
          />
</ScrollView>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Try removing ScrollView as Flatlist already have scroll and for horizontal you can add it like

<FlatList
            data={props.seats}
            keyExtractor={(index) => `seater${index}`}
            scrollEnabled={false}
            renderItem={({ item, index }) => (
                { props.seats[index].map(
                    (object, i) => (
                      <TouchableOpacity onPress={() => alert("Helllo")}>
                      </TouchableOpacity>
                    )
                  )}
            )}
            horizontal // add it here 
/>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...