callstack / callstack/react-native-paper
refactor(segmented-buttons): improve state model and rendering performance
- 主要言語
- TypeScript
- スター
- 14.5k
- フォーク
- 2.2k
- 平均マージ
- 5日 23時間
- マージ済み PR(30日)
- 12
説明
Refactor SegmentedButton 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**
- Improve selection APIs
- Improve density and layout handling
- Improve MD3 shape and state layers
- Simplify internal selection logic
**Performance Opportunities**
- Improve rendering in dynamic lists
- Memoize button state calculations
- Reduce unnecessary prop spreading
コントリビューションガイド
調査の方向性
この issue では SegmentedButton がエントリーポイントとして特定されていますが、ファイル、テスト、具体的な API 設計については何も示されていません。まずコンポーネントの現在の実装とテストを把握し、次に選択、密度、レイアウト、形状、state-layer、パフォーマンスの要件を解決します。完了の条件は、最新化された API について合意し、列挙された動作をカバーすることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- react-native, typescript
- 領域
- design, frontend, mobile-dev
- issue の種類
- リファクタリング
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 静か
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 30/100