Tooltip triggers reflow & redraw too much times at any tooltip prop update
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- javascript, react
- 領域
- frontend
調査の方向性
Content.js の componentDidUpdate メソッドから始め、tooltip の prop 更新中に trigger.forcePopupAlign() が実行されるタイミングを追跡します。現在の動作を提案されているライフサイクルの変更と比較し、そのうえで、通常の更新中に reflow と再描画を繰り返すことなく、必要な場合には引き続きアライメントが行われることを確認します。
索引モデルが issue の本文から書いたものです。
説明
The problem located in Content.js file at lines:
componentDidUpdate() {
const { trigger } = this.props;
if (trigger) {
trigger.forcePopupAlign();
}
}
On every re-render/changing props it invokes forcePopupAlign. Using tooltip inside heavy and complex application with dozen nested component leads to freezing the page.
My suggestion is to implement more smarter calling of forcePopupAlign. For the most cases (except very dynamic ones) it is more than enough to move the logic out from componentDidUpdate to componentDidMount.

- 主要言語
- TypeScript
- スター
- 944
- フォーク
- 199
- 平均マージ
- 19時間 1分
- マージ済み PR(30日)
- 3
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
react-component/tooltip のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 64/100
react-component/tooltip#510 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
react-component/tooltip#499 · コメント 1 件 · リアクション 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
react-component/tooltip#488 · コメント 4 件 · リアクション 2 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 35/100
react-component/tooltip#487 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
react-component/tooltip#483 ·
react-component/tooltip の issue をすべて見る
似ている issue
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
-
Mend: dependency security vulnerability untriaged
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100