refactor(card): modernize composition model and improve MD3 behavior
Maintainer antworten meist innerhalb von 7 Tagen
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Refactoring
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- react-native, typescript
Rechercherichtung
Das Issue nennt Card, Card.Content und Card.Actions, aber keine Datei und keinen Test. Beginne damit, die Implementierung von Card und ihre bestehende öffentliche API zu finden, und vergleiche anschließend die aktuelle Komposition, Varianten, Elevation, Abstände und das pressable Verhalten mit der vorgeschlagenen Slot-Richtung; Abnahmekriterien und Tests sind nicht spezifiziert, daher muss der Umfang mit den Maintainer:innen abgestimmt werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Refactor Card 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
- Reduce dependence on deeply nested children
- Improve Card.Content / Card.Actions architecture
- Improve elevation and surface behavior
- Improve shape and outlined variants
- Simplify internal spacing rules
Proposed API Direction
Introduce clearer slot-based APIs:
<Card title="Title" subtitle="Subtitle" content={<Text>Content</Text>} actions={[...]} />
Performance Opportunities
- Reduce nested wrappers
- Optimize pressable behavior
- Avoid unnecessary subtree re-renders
- Improve memoization boundaries
- Vorherrschende Sprache
- TypeScript
- Sterne
- 14.5k
- Forks
- 2.3k
- Ø Merge
- 8 T. 2 Std.
- Gemergte PRs (30 T.)
- 4
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus callstack/react-native-paper
-
Menu ignores the keyboard when it mounts while the keyboard is already openEvtl. vergeben @manchoudhary hat das vor 31 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
callstack/react-native-paper#5096 ·
Maintainer antworten meist innerhalb von 7 Tagen
-
Color Picker Popup Is Obscured On "Guides -> Theming -> Creating Dynamic Theme Colors" Documentation On Both v5 and v6Evtl. vergeben @fatihcvs hat das vor 26 Tagen übernommen. Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
callstack/react-native-paper#5093 ·
Maintainer antworten meist innerhalb von 7 Tagen
-
Tooltip: onPress event object is not propagated to parent component on nativeEvtl. vergeben @Shevilll hat das vor 118 Tagen übernommen. Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
callstack/react-native-paper#5003 ·
Maintainer antworten meist innerhalb von 7 Tagen
-
Snackbar stays mounted after `visible=false` under new architecture (iOS + Android)Evtl. vergeben @momomuchu hat das vor 106 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
callstack/react-native-paper#4951 ·
Maintainer antworten meist innerhalb von 7 Tagen
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
callstack/react-native-paper#4881 ·
Maintainer antworten meist innerhalb von 7 Tagen
Alle Issues in callstack/react-native-paper
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
callstackincubator/simlock#639 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100
aws/agentcore-cli#2606 ·
Maintainer antworten meist innerhalb von 1 Tag
-
ai-driven-qa bug Cosmetic
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
Maintainer antworten meist innerhalb von 1 Tag
-
ai-driven-qa bug claude Minor
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 64/100
linagora/twake-mail-admin#301 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Maintainer antworten meist innerhalb von 1 Tag