callstack / callstack/react-native-paper

refactor(list-item): improve layout system and remove implicit child composition

Open
#4,930 2 comments 0 reactions 0 assignees View on GitHub
v6
Dominant language
TypeScript
Stars
14.5k
Forks
2.2k
Avg merge
5d 23h
Merged PRs (30d)
12

Description

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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.