ฉันมีส่วนประกอบ 3 ListView
ภายในองค์ประกอบ ScrollView
เดียวดังนี้:
<ScrollView>
<Header />
<ListView onEndReached={() => alert('load more 1')}/>
<ListView onEndReached={() => alert('load more 2')}/>
<ListView onEndReached={() => alert('load more 3')}/>
<Footer />
</ScrollView>
ส่วนประกอบ Header
มีเนื้อหาทั่วไปบางส่วนและยังมี 3 แท็บ ซึ่งทริกเกอร์ให้แสดง ListView
ตามลำดับ
ปัญหาคือ ListView
โดยที่ onEndReached={() => alert('load more 1')}
ไม่เคยเรียกใช้การแจ้งเตือน ดังนั้นฉันจึงไม่สามารถโหลดเพิ่มได้อีกเมื่อฉันเลื่อนลงและกดจุดสิ้นสุดของมุมมองรายการ ลบการตัดคำ ScrollView
และการแจ้งเตือนจะทำงาน แต่ Header
ทั่วไปจะไม่เลื่อน เนื่องจากเราเพิ่งลบการตัดคำ ScrollView
ส่วนหัวจำเป็นต้องเลื่อนด้วย listview ซึ่งเป็นสาเหตุที่ฉันรวมทุกอย่างที่ต้องเลื่อนไว้ใน ScrollView
หมายเหตุสำคัญ: ฉันไม่สามารถใช้ ListView
กับ renderHeader={this.header}
ได้จริงๆ สำหรับสถานการณ์นี้ เพราะถึงแม้ Header
จะเลื่อน มันจะเรนเดอร์ Header
ทั่วไปและ 3 แท็บใหม่สำหรับแต่ละ ListView
แต่ละครั้งที่ ListView
เรนเดอร์ แทนที่จะเป็นครั้งเดียว ดังนั้นการเรนเดอร์ Header
ใหม่แต่ละครั้งสำหรับแต่ละ ListView
จะไม่ถูกตัดออกจากแอป
กำลังมองหาวิธีแก้ไขปัญหานี้ โดยที่ Header
เลื่อนด้วย listviews และ onEndReached
ถูกทริกเกอร์สำหรับ ListView
ที่มองเห็นได้