2016-09-07 16 views
5

from documentation:gì onEndReachedThreshold thực sự có nghĩa là trong phản ứng bản địa

onEndReachedThreshold số

Threshold bằng pixel (ảo, không phải vật lý) để gọi onEndReached. vì vậy tôi chỉ muốn biết ý nghĩa của nó là gì, đó có phải là ngưỡng từ đầu hay là ngưỡng từ dưới cùng.

Từ trên cùng? - nếu tôi đặt giá trị onEndReachedThreshold = {10}, thì onEndReached của tôi có được gọi ngay khi tôi cuộn đến 10 pixel hay không.

Từ dưới cùng? - nếu tôi đặt giá trị của onEndReachedThreshold = {listview height -10}, onEndReached của tôi có được gọi ngay khi tôi cuộn đến 10 pixel hay cái gì khác.

Trả lời

3

Các documentation luôn là cách tốt nhất để đi:

onEndReached chức năng
Được gọi là khi tất cả các hàng đã được trả lại và danh sách đã được cuộn để trong vòng onEndReachedThreshold đáy. Sự kiện cuộn gốc được cung cấp.

onEndReachedThreshold số
Threshold bằng pixel (ảo, không phải vật lý) để gọi onEndReached.

Vì vậy, như tôi nhìn thấy nó: nếu bạn làm onEndReachedThreshold ={10} nó gọi onEndReached nếu bạn cuộn đến 10 pixel từ đáy

+0

vì vậy nếu tôi phải gọi onEndReached càng sớm càng ai cuộn 10 pixel ở phía trên sau đó tôi phải đặt trênEndReachedThreshold = {lenght of listview -10}, tôi có đúng không? –

+0

@ManjeetSingh Không, bạn sẽ phải đặt nó thành onEndReachedThreshold = {10} – dv3

+0

@ManjeetSingh Tôi sẽ không đề nghị dựa vào mối quan hệ từ đầu. Điều này sẽ dễ dàng kết thúc trong vòng lặp vô tận – dv3

0

Tôi nghĩ rằng vấn đề đã xảy ra vì nhiều quan điểm và cuộn, do đó tôi đã sử dụng như một thành phần warper cho listview nó có cùng một vấn đề, tôi chỉ cần thay đổi nó để xem với phong cách: {flex: 1} và nó hoạt động tốt

return (
    <View style={{flex: 1}}> 
     <ListView 
     dataSource={this.dataSource} 
     renderRow={this._renderRow.bind(this)} 
     onEndReached={this._paginateDataSource.bind(this)} 
     style={styles.listView}/> 
     {loading} 
    </View> 
) 
3

đối với bất cứ ai sử dụng FlatList thay vì ListView, lưu ý rằng các đơn vị tham số đã thay đổi.

Đối với ListView nó bằng pixel từ dưới cùng, nhưng theo số docs for FlatList, thay vào đó là đơn vị độ dài từ dưới cùng trong các mục danh sách.

Cách xa kết thúc (trong đơn vị chiều dài hiển thị của danh sách) cạnh dưới của danh sách phải từ cuối nội dung để kích hoạt cuộc gọi lại onEndReached. Vì vậy, một giá trị 0,5 sẽ kích hoạt onEndReached khi kết thúc nội dung nằm trong khoảng một nửa độ dài nhìn thấy được của danh sách.

Vì vậy, nếu bạn muốn danh sách để cập nhật khi người dùng là nửa đường xuống bộ dữ liệu hiện tại, thiết lập giá trị để 0.5

Các vấn đề liên quan