2017-01-22 5 views
9

पर रीपैक्ट करें मूल ScrollView पर एक प्रो pagingEnabled है। हालांकि, यह मानता है कि स्क्रॉलव्यू में प्रत्येक पृष्ठ (या बाल घटक) की चौड़ाई ScrollView की चौड़ाई के बराबर है।प्रतिक्रिया मूल स्क्रॉल व्यू में स्क्रॉल एंड का पता लगाएं, पेज

स्क्रॉलव्यू से छोटे पृष्ठों के लिए इसे सही तरीके से काम करने के लिए हम इसे कैसे सुधार सकते हैं?

क्या यह पता लगाना संभव है कि उपयोगकर्ता स्क्रॉलिंग बंद कर देता है? फिर हम सही पृष्ठ पर स्नैप करने के लिए आसानी से अपना कोड लिख सकते हैं।

संपादित करें: आईओएस पर केवल प्रोप का उपयोग करके इसे संशोधित करने के कुछ अन्य तरीके हैं, इसलिए यह एंड्रॉइड पर विशेष रूप से एक समस्या है।

उत्तर

24

दो अलग-अलग प्रोप हैं जिन्हें आप मूल ScrollView पर प्रतिक्रिया करने के लिए सेट कर सकते हैं जो स्क्रॉल समाप्त होने के बारे में सूचित करने के लिए कॉलबैक लेता है। ( वे नहीं कर रहे हैं, जहाँ तक मुझे पता है, API दस्तावेज़ों में सूचीबद्ध है, मैं नहीं यकीन है कि क्यों। केवल उन में से एक वर्तमान में प्रलेखित है।)


onScrollEndDrag समारोह

जैसे ही उपयोगकर्ता स्क्रॉलव्यू (स्क्रीन से उंगली को ले जाता है) को जाने देता है।

कार्य नमूना: https://rnplay.org/apps/Ufv6Cg


onMomentumScrollEnd function

कहा जाता है बंद हो जाता है जब scrollview (यह सामान्य रूप से करने के बाद उपयोगकर्ता स्क्रीन से उंगली उठा लिया गया है एक छोटा सा स्लाइड करने के लिए जारी रहेगा) फिसलने।

कार्य नमूना: https://rnplay.org/apps/BPgG_g


नोट: मैं किसी भी के लिए API दस्तावेज़ों में तरीकों नहीं पा सके मूल निवासी घटक प्रतिक्रिया है, लेकिन वे के रूप में उदाहरण में दिखाया गया काम करते हैं। मैंने उन्हें herereact-native-snap-carousel में देखा था।

+2

भी 'जोड़ने के लिए onScrollBeginDrag' एक और एक है कि एक खींचें की शुरुआत https://github.com/facebook/react-native/blob/62b20ce582383dd36c07b5d541cde6a7d13cabc6/React/Views/RCTScrollView.h#L54 – garrettmac

+3

पर चलाता है अजीब तरह से है चाहता था पर्याप्त onScrollEndDrag अब प्रतिक्रिया देशी एपीआई पर सूचीबद्ध नहीं है, लेकिन अभी भी काम करता है। – tibbus

+0

आपके दोनों नमूना लिंक टूटा हुआ है, और वे या तो वेबैक मशीन में नहीं हैं। –

संबंधित मुद्दे