callstack / callstack/react-native-paper
refactor(list-item): improve layout system and remove implicit child composition
- Ngôn ngữ chính
- TypeScript
- Star
- 14.5k
- Fork
- 2.2k
- Merge trung bình
- 5 ngày 23 giờ
- Pull request đã merge (30 ngày)
- 12
Mô tả
Refactor ListItem to improve Material Design 3 compliance, remove problematic children patterns, improve performance characteristics, and modernize the public API.
**Problems**
- Current API relies heavily on children composition in ways that are difficult to optimize
- Internal layout logic is tightly coupled to arbitrary child structures
- MD3 behaviors and visuals are not fully aligned with current Material guidelines
- Rendering performance can degrade in large lists or frequently updated screens
- Type safety and discoverability of the API can be improved
- The component has inconsistent behavior between platforms and edge cases
**Focus Areas**
- Replace arbitrary child composition with explicit slots
- Improve left/right accessory APIs
- Standardize spacing and density
- Improve multiline layout behavior
- Improve virtualization friendliness
**Proposed API Direction**
Instead of:
`
`
Prefer:
``
**Performance Opportunities**
- Improve rendering in FlatList usage
- Memoize accessories
- Reduce layout passes
- Avoid child traversal
Hướng dẫn đóng góp
Hướng nghiên cứu
Issue không nêu tệp triển khai hay bài kiểm thử nào; hãy bắt đầu bằng cách xác định component TypeScript ListItem và xem xét các cách sử dụng hiện tại của nó, đặc biệt là trong FlatList. So sánh API rõ ràng được đề xuất cho title, description, left và right với API children hiện có, sau đó thiết lập độ bao phủ cho khoảng cách, bố cục nhiều dòng, hành vi theo nền tảng và cơ chế ảo hóa trước khi coi việc refactor là hoàn tất.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- react-native, typescript
- Lĩnh vực
- frontend, mobile
- Loại issue
- Tái cấu trúc
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 30/100