Ứng dụng của chúng tôi sử dụng tính năng cuộn vô hạn để điều hướng danh sách lớn các mục không đồng nhất. Có một vài nếp nhăn:
- Người dùng của chúng tôi thường có danh sách 10.000 mục và cần cuộn qua 3k +.
- Đây là những vật phẩm phong phú, vì vậy chúng tôi chỉ có thể có vài trăm trong DOM trước khi hiệu suất trình duyệt trở nên không thể chấp nhận được.
- Các mặt hàng có độ cao khác nhau.
- Các mục có thể chứa hình ảnh và chúng tôi cho phép người dùng chuyển đến một ngày cụ thể. Điều này khá phức tạp vì người dùng có thể nhảy đến một điểm trong danh sách mà chúng ta cần tải hình ảnh phía trên khung nhìn, điều này sẽ đẩy nội dung xuống khi họ tải. Không xử lý được điều đó có nghĩa là người dùng có thể chuyển sang một ngày, nhưng sau đó được chuyển sang một ngày sớm hơn.
Các giải pháp chưa đầy đủ, đã biết:
( react -finity-scroll ) - Đây chỉ là một thành phần đơn giản "tải thêm khi chúng ta chạm đáy". Nó không tiêu hủy bất kỳ DOM nào, vì vậy nó sẽ chết trên hàng nghìn mục.
( Vị trí cuộn với React ) - Hiển thị cách lưu trữ và khôi phục vị trí cuộn khi chèn ở trên cùng hoặc khi chèn ở dưới cùng, nhưng không phải cả hai cùng nhau.
Tôi không tìm kiếm mã cho một giải pháp hoàn chỉnh (mặc dù điều đó sẽ rất tuyệt.) Thay vào đó, tôi đang tìm kiếm "Cách phản ứng" để mô hình hóa tình huống này. Vị trí cuộn có trạng thái hay không? Tôi nên theo dõi trạng thái nào để giữ được vị trí của mình trong danh sách? Tôi cần giữ trạng thái nào để kích hoạt kết xuất mới khi cuộn gần cuối hoặc trên cùng của những gì được hiển thị?