callstack / callstack/react-native-pager-view

☂️ Pager View Improvements

Đang mở
#673 14 bình luận 24 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
TypeScript
Star
3.4k
Fork
476
Merge trung bình
10 ngày 21 giờ
Pull request đã merge (30 ngày)
2

Mô tả

### Intro

It is been a while since I am maintaining the `react-native-pager-view`. Previously it was part of the RN core, but then it has been extracted into a separate package. It has used 2 versions of ViewPager (v1, v2) and UIPageView. I tried to fix all issues, but some of them required some workarounds that were not stable enough. Those workarounds created other issues, hence other workarounds were used to fix that. To be honest, I was a little bit exhausted from it, hence together with @krozniata and @okwasniewski decided to build those components from the scratch

### Next branch
@alpha0010 did a great job by implementing the `LazyViewPager` component. We released his changes into the `next` branch and we had the plan to merge it into the main branch. But we did some internal tests on real applications and in some cases, it did not work well. Internally we used another workaround to achieve the lazy effect. Moreover, we did not want to add additional complexity, when it did not bring more benefits and would add additional bugs to fix. With new architecture implementing a lazy approach should be much easier. Unfortunately, we won’t merge the next branch into the main. We will implement a lazy approach using a new architecture. If you would like to maintain `LazyViewPager`, feel free to make a fork

### New architecture support

Meta has released a new architecture called fabric. In this library, we would like to focus first on the new architecture. After that, we will evaluate, if it would be worth migrating a new solution to the old arch (Right now it is hard to estimate it based on a priori knowledge)

### Motivation

We would like to have more control over native components to easily fix issues or add new features. Right now, those components are black boxes, which are hard to maintain. Moreover, `UIPageViewController` is not maintained anymore and is not used in the iOS world. Unfortunately, we cannot use `UICollectionView`, because it does not work well in the RN world.

The same thing refers `RecyclerView` component for Android. The currently used `ViewPager2` component on Android brought more issues than benefits since it uses the earlier-mentioned `RecyclerView`.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Không có tệp, bài kiểm thử hoặc điểm vào cụ thể nào được nêu. Hãy bắt đầu bằng cách xem xét các tích hợp Android ViewPager2/RecyclerView và iOS UIPageViewController hiện có theo các yêu cầu của Fabric; tiêu chí hoàn thành không được xác định ngoài việc thay thế các thành phần native hiện tại và cải thiện khả năng kiểm soát chúng.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
android, ios, react-native, typescript
Lĩnh vực
mobile-dev
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
20/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.