callstack / callstack/react-native-paper

refactor(segmented-buttons): improve state model and rendering performance

オープン
#4,936 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
v6
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。