callstack / callstack/react-native-paper
refactor(card): modernize composition model and improve MD3 behavior
- 主要语言
- TypeScript
- 星标
- 14.5k
- 派生
- 2.2k
- 平均合并
- 5 天 23 小时
- 30 天内合并 PR
- 12
描述
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:
`Content}
actions={[...]}
/>`
**Performance Opportunities**
- Reduce nested wrappers
- Optimize pressable behavior
- Avoid unnecessary subtree re-renders
- Improve memoization boundaries
贡献指南
调研方向
该 issue 提到了 Card、Card.Content 和 Card.Actions,但没有指定文件或测试。首先定位 Card 的实现及其现有的公共 API,然后将当前的组合方式、变体、elevation、间距和 pressable 行为与提议的 slot 方向进行比较;完成标准和测试均未指定,因此需要与 maintainer 就范围达成一致。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- react-native, typescript
- 领域
- design, frontend, mobile
- Issue 类型
- 重构
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 冷清
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100