React: Devtools V4ハむラむトアップデヌトはどこにありたすか

䜜成日 2019幎08月17日  Â·  31コメント  Â·  ゜ヌス: facebook/react

私が正しく理解しおいれば、これはdevtools v4の正しいリポゞトリですよね

reactdevtoolが曎新されおいるこずに気づきたした。 「曎新のハむラむト」機胜がありたせん。
どうすればアクティブにできたすか

image

image

バヌゞョン4.0.28/15/2019

Developer Tools Discussion Feature Request

最も参考になるコメント

ハむラむトアップデヌトは、パフォヌマンスの問題を修正するのにそれほど圹立ちたせんでしたが新しいプロファむラヌの方がはるかに優れおいたす、驚くべきレンダリングを発芋するのに圹立ちたした。 特に、1぀の倉曎によっおアプリの他の郚分で再レンダリングが発生する可胜性があるコンテキストで䜜業する堎合は、数え切れないほどの時間を節玄できたした。 プロファむラヌで䜜業するずきは、ツリヌの䞀郚だけに焊点を合わせる傟向があるため、回垰を芋逃しがちです。

間違ったアむデアを䞎えるこずに぀いおの@gaearonの懞念を理解しおいるので、どうでしょうか。

1.レンダリング時間に基づいおアりトラむンの色を遞択したす

安䟡なレンダリングは緑、高䟡なレンダリングは黄色たたは赀である必芁がありたす。 たたは、プロファむラヌで䜿甚されおいるのずたったく同じ色を䜿甚したす。

2.アりトラむンのフェヌド速床を倉える

アりトラむンフェヌドアニメヌションは、レンダリング期間に関連しおいる必芁がありたす。 速いレンダリングはすぐにフェヌドし、遅いレンダリングはゆっくりフェヌドするはずです。

3.塗り盎された領域を区別する

ChromeのPaint Flashing Highlight Updatesを䜿甚するこずがありたした。 これにより、再描画に぀ながるレンダリングが、DOM効果のないレンダリングずは異なる方法で匷調衚瀺されるようになりたした。 DevToolsにも同様の機胜が組み蟌たれおいるはずだず思いたす。

  • 再描画のない高䟡なレンダリングは、パフォヌマンス最適化の䞻なタヌゲットになるはずです。
  • 再描画するレンダリングは、明らかに実行する必芁のある䜜業を行っおいたす。
  • 再描画が行われない高速レンダリングは無芖しおもかたいたせん。

たぶん、䞊蚘の最初のものだけを点滅させる蚭定があるかもしれたせんいく぀かの蚭定可胜なしきい倀がありたす。

党おのコメント31件

ここで同じ問題。 ハむラむトの曎新はなくなりたした。
曎新を远跡するために、今プロファむラヌを䜿甚する必芁があるかどうか疑問に思っおいたしたか

https://www.reddit.com/r/reactjs/comments/cqx554/introducing_the_new_react_devtools/ex1r9nb/

正盎な答えは、それを実装する時間があたりなく、他のすべおの機胜のリリヌスをブロックするほど重芁であるずは考えおいなかったずいうこずです。

ただし、それを远加し盎すかどうかわからない理由はさらに深くなりたす。 これは、再レンダリング自䜓が悪いずいう誀った考えの原因になりたす安䟡な堎合はそうではありたせん。 そのため、人々は無駄なこずを最適化し、実際のパフォヌマンスの問題を芋逃すこずに時間を費やしおいたす。

新しいDevToolsには、コヌドの実際のパフォヌマンスの問題を芋぀けるのに圹立぀プロファむラヌが含たれおいたす。 䜙分なレンダリングを芋぀けるための超軜量の方法が必芁であるこずは理解しおいたすが、それを远加するかもしれたせんが、最初にどのように機胜するかに぀いおもっず考える必芁がありたす。

むンラむンコメントを远加するために線集

いく぀かの関連する以前の議論https://github.com/bvaughn/react-devtools-experimental/issues/244

ハむラむトアップデヌトは、パフォヌマンスの問題を修正するのにそれほど圹立ちたせんでしたが新しいプロファむラヌの方がはるかに優れおいたす、驚くべきレンダリングを発芋するのに圹立ちたした。 特に、1぀の倉曎によっおアプリの他の郚分で再レンダリングが発生する可胜性があるコンテキストで䜜業する堎合は、数え切れないほどの時間を節玄できたした。 プロファむラヌで䜜業するずきは、ツリヌの䞀郚だけに焊点を合わせる傟向があるため、回垰を芋逃しがちです。

間違ったアむデアを䞎えるこずに぀いおの@gaearonの懞念を理解しおいるので、どうでしょうか。

1.レンダリング時間に基づいおアりトラむンの色を遞択したす

安䟡なレンダリングは緑、高䟡なレンダリングは黄色たたは赀である必芁がありたす。 たたは、プロファむラヌで䜿甚されおいるのずたったく同じ色を䜿甚したす。

2.アりトラむンのフェヌド速床を倉える

アりトラむンフェヌドアニメヌションは、レンダリング期間に関連しおいる必芁がありたす。 速いレンダリングはすぐにフェヌドし、遅いレンダリングはゆっくりフェヌドするはずです。

3.塗り盎された領域を区別する

ChromeのPaint Flashing Highlight Updatesを䜿甚するこずがありたした。 これにより、再描画に぀ながるレンダリングが、DOM効果のないレンダリングずは異なる方法で匷調衚瀺されるようになりたした。 DevToolsにも同様の機胜が組み蟌たれおいるはずだず思いたす。

  • 再描画のない高䟡なレンダリングは、パフォヌマンス最適化の䞻なタヌゲットになるはずです。
  • 再描画するレンダリングは、明らかに実行する必芁のある䜜業を行っおいたす。
  • 再描画が行われない高速レンダリングは無芖しおもかたいたせん。

たぶん、䞊蚘の最初のものだけを点滅させる蚭定があるかもしれたせんいく぀かの蚭定可胜なしきい倀がありたす。

「安い」たたは「速い」レンダリングを識別するこずは、次のような芁因のために、芋た目ほど簡単ではありたせん。

  • 開発ビルドは、本番ビルドよりもはるかに䜎速です。
  • 開発者のラップトップは、䞀般的に゚ンドナヌザヌのラップトップよりもはるかに高速です。

プロファむラヌの良いずころは、速床を盞察的なものずしお報告し、特定のセッションでアプリケヌションの最も遅い郚分に集䞭できるこずです。 最も遅い郚分がい぀十分に速いかを決めるこずができたす。しかし、これは振り返っおみおのみ行うこずができたす。

たた、コミットの静的スナップショット、および倉曎された小道具/状態を提䟛し、特定のコンポヌネントがレンダリングされた頻床予想よりも倚かったかだけでなく、具䜓的には再レンダリングされた理由なども確認できたす。それで再レンダリングされたした。

プロファむラヌの䞀郚ずしお、ある皮の曎新フラッシュメカニズムをDevToolsに远加するこずを怜蚎する可胜性は十分にあるず思いたす。 たぶん、プロファむリングがアクティブなずきにのみ点滅したすか プロファむリングが停止した埌、プロファむラヌで新しいコミットを遞択するず、再レンダリングされたすべおのコンポヌネントがフラッシュされるのではないでしょうか。 䜕かを芋逃した堎合に「再生」できるので、私はそのアむデアが奜きです。少し実隓しお、䜕が最も効果的かを確認する必芁がありたす。

この機胜を頻繁に䜿甚しお、レンダリングする必芁のあるコンポヌネントのみがレンダリングされおいるこずを確認したした。 同じコンポヌネントを異なるIDで䜕床もレンダリングするアプリがあり、すべおではなく、再レンダリングする必芁があるコンポヌネントのみがレンダリングされるようにしたいのです。 新しいプロファむラヌでこれを確認する方法がわかりたせん。

新しいプロファむラヌでこれを確認する方法がわかりたせん

䜕を詊したしたか プロファむラヌは、1人の子䟛が再レンダリングしおいるか倚数であるかを明確に瀺す必芁がありたす。

「ハむラむトアップデヌト」を頻繁に䜿甚しおいたした。 私が最もよく䜿甚したのは、dev-toolsの機胜でした。 曎新頻床ではなく、曎新内容を確認するだけです。 もちろん、プロファむラヌを䜿甚しおこれを行うこずはできたすが、それは迅速な芖芚的衚瀺よりもかなり面倒です。

私にずっお、「ハむラむトアップデヌト」は「キラヌ機胜」でした...

私たちはあなたの蚀うこずを聞きたす:-)「私はこれを䜿甚したした」ず蚀っおいるだけのコメントがこのスレッドで倧いに圹立぀ずは思わない。 この機胜を䜿甚しおいる人がいるこずはわかっおおり、この機胜を元に戻す正しい方法は䜕かを考えおいたす。 フィヌドバックをありがずう

このオプションは、再レンダリングの問題を即座に瀺すために、私の日垞の䜜業プロセスに䞍可欠なコンポヌネントでした。 ですから、この玠晎らしい機胜をすぐに埩掻させるこずができれば、私は本圓にうれしいです。

再レンダリングの迅速な高レベルのビュヌを可胜にするこの機胜のいく぀かのバヌゞョンを埩掻させるず+1したすコンテキストを曎新するずきのように完党に問題のない再レンダリングの堎合でも。

持ち垰りで+1

ですから、この玠晎らしい機胜をすぐに埩掻させるこずができれば、私は本圓にうれしいです。

䞊で芁求されたように

「これを䜿った」ずいうコメントだけでは、あたり圹に立たないず思いたす。

これをより明確に蚀い換えるず、次のようになりたす。

聞こえたす

このリポゞトリを賌読しおいる人はたくさんいたす。 数時間ごずに同じコメントでスパムを送信したくありたせん。 さらに、GitHub通知を個人的に䜿甚しおいたす。 このスレッドが毎日「+1」でぶ぀かった堎合、ノむズを枛らすために、最終的には賌読を解陀する必芁がありたす。 これはおそらくあなたの意図の反察です。

コメントする前に、以前に蚀われたこずのないものを远加しおいるこずを確認しおください。 曞きたいものず同様のコメントが衚瀺された堎合は、代わりに👍リアクションを远加しおください。

理解に感謝。
フィヌドバックをお埅ちしおおりたすが、タスクの優先順䜍付けには👍で十分です。

以前に蚀われなかった䜕かを远加しおいるこず。

以前のバヌゞョンの拡匵機胜をむンストヌルする方法はありたすか 実際、アップデヌトは私が以前䜿甚しおいたフロヌを壊したした。 残念ながら、Chrome拡匵機胜マヌケットプレむスでは、「npm」のような以前のバヌゞョンをむンストヌルするこずはできたせん。 コンパむルされた拡匵機胜ずのリンクはありたすか ありがずうございたした。
_スタンドアロンバヌゞョンをむンストヌルしようずしたしたが、v3リポゞトリからのこのリンクが壊れおいたす。Crome拡匵機胜ぞのリンクは最新バヌゞョンに぀ながりたす_

新しいDevToolsには、コヌドの実際のパフォヌマンスの問題を芋぀けるのに圹立぀プロファむラヌが含たれおいたす。

そしおここに答えがありたす、なぜ新しい拡匵機胜が私の流れを壊したのですか プロファむラヌでは、ボタンを抌しおプロファむリングを開始しおから終了するこずをお勧めしたすが、それは瞬時ではありたせん。 アップデヌトハむラむタヌを䜿甚するず、䜙分な動きなしですべおを芋るこずができたす。 たた、実際の曎新ず実際にトリガヌされたものを非垞に盎感的な方法で瀺したす。

これは、Chrome DevTools独自のパフォヌマンスモニタヌを思い出させたす。これもラむブアップデヌトでしたが、い぀かプレストゥレコヌドに移行されたした。 その動きはおそらく耇雑さずパフォヌマンスぞの圱響のために理にかなっおいたすが、ポむントはそれが巚倧な摩擊を远加するずいうこずです @Carduelisが指摘するように、スタヌト/ストップボタンを抌さない方がはるかに簡単です。 それはOODAルヌプにレンチを投げ蟌み、ナヌザヌがこの機胜を䜿甚する頻床に圱響を䞎え、ひいおはアプリ自䜓の品質に圱響を䞎えるこずは間違いありたせん。

これを間違えないでください---新しいパフォヌマンスモニタヌはクヌルで、深く掘り䞋げる必芁があるずきに䜿甚できたすが、叀い曎新の匷調衚瀺のような迅速で汚い芖芚化を単玔に眮き換えるこずはできたせん。

以前のバヌゞョンの拡匵機胜をむンストヌルする方法はありたすか

@Carduelis以前のバヌゞョンのたす

䞊蚘の手順からChromeにv3をむンストヌルしようず少し茪になっお走りたしたが、スタンドアロンのプロファむラヌに倉曎を匷調衚瀺させるこずができたせんでした。 そこで、それを機胜させおコンポヌネントの最適化に戻りたい堎合は、詳现な手順を説明したした。

React Dev Tools V3のむンストヌルステップバむステップの説明 
https://gist.github.com/oztune/01be16a2f90283aad82422b37221d522

少し怒鳎るかもしれたせんが、技術的なレベルでは「詳现なプロファむリングツヌル」>「ばかげたハむラむト機胜」のように芋えるかもしれたせんが、私たちはすべお人間であり、単玔な芖芚的手がかりから倚くの情報をすばやく収集したす。いく぀かの点で、ハむラむト機胜は非垞に䜿いやすいずいう理由で非垞に重芁です。 私にずっお、それが私がReact Dev Toolsを90の時間開いおいる理由です。

少し怒鳎るかもしれたせんが、技術的なレベルでは「詳现なプロファむリングツヌル」>「ばかげたハむラむト機胜」のように芋えるかもしれたせんが、私たちはすべお人間であり、単玔な芖芚的手がかりから倚くの情報をすばやく収集したす。いく぀かの点で、ハむラむト機胜は非垞に䜿いやすいずいう理由で非垞に重芁です。

ダンや私は、それが「䜿いやすい」ずは考えおいたせん。ただ、 「壊れおいない」ものを「修正」するこずに時間を費やすように人々を促すかもしれないからです遅くないものを最適化するこずよりも 。 このパタヌンは、「パフォヌマンス」コストが懞念されるためにむンラむン関数が広く回避されるなどのパタヌンで以前に芋られたした。 問題のないものを修正するために投資される゚ネルギヌは、他の朜圚的により重芁なものを修正するために費やされない゚ネルギヌです。

䞊で

珟実的には、それは私のプレヌトの最優先事項ではないので、この䌚話を繰り返すのではなく、忍耐を求めたす。 この機胜が重芁であるず聞いお認識しおいたす。 利䟿性ず䞊蚘の他の考慮事項を比范怜蚎し、珟圚の状況以䞊のものを考え出したす。

過床に最適化するこずに぀いおは、芖芚的なレンダリングの匷調衚瀺がそれを促進できるこずを蚌明できたす。 したがっお、ここでの議論に䜕かを远加したいず思いたす。

この機胜を芋逃しおいる人は、 https//github.com/welldone-software/why-did-you-renderの方が参考になるかもしれたせん。

これは、この機胜を実装するずきに考慮すべきこずかもしれたせん。 デフォルトでは、WhyDidYouRenderは詳现な倀の比范を行い、再レンダリング間で実際に倉曎がなかった堎合にのみレポヌトしたす。 ビゞュアルレンダリングのハむラむトにこれず同じフィルタリングを適甚するのは玠晎らしいこずです。 これは、より思慮深い最適化を指瀺したすさらに、プロファむラヌによっお提䟛されない区別です。

理論的には、パフォヌマンスを気にせずにアプリ党䜓を再レンダリングできるはずなので、レンダリングの匷調衚瀺が衚瀺されないようにSCUをどこにでも远加するこずは、逆効果です。

Reactがどのように機胜するかに぀いおのデモンストレヌションには、再レンダリングのハむラむトが圹立぀こずがわかりたした。

デフォルトでは、WhyDidYouRenderは詳现な倀の比范を行い、再レンダリング間で実際に倉曎がなかった堎合にのみレポヌトしたす。

これは、実際にパフォヌマンスの問題があるアプリでは非垞に遅いように聞こえたす。 どんな皮類の深い比范も、私たちが垞にやりたいこずではありたせん。 あなたがそれをオンにしおいる時点でより遅いパフォヌマンスをオプトむンするために、なぜプロファむラヌを起動しないのですか

これは、より思慮深い最適化を指瀺したすさらに、プロファむラヌによっお提䟛されない区別です。

プロファむラヌはこれのバヌゞョンを提䟛したす
Video demonstrating profiler "why did this render?" feature

再レンダリングされたが、小道具/状態/フックが倉曎されおいないコンポヌネントが衚瀺された堎合、それがあなたが説明しおいるこずだず思いたす。

@bvaughn通垞、䞀床に1぀のコンポヌネントの詳现比范のみをオンにしたす。 したがっお、デフォルトですべおのコンポヌネントに察しおオンにするものではないこずに同意したす。 おそらく、その緑色のバヌを右クリックしお、[レンダリングの曎新を匷調衚瀺]を遞択するものです。
それはかなり滑らかで非垞に䟿利ですが、それはあなたが掘り䞋げなければならないものです。

@bvaughn 「なぜこれがレンダリングされたのか」が倧奜きです。 機胜 Highlight Updatesが再考されおいる間ですが、利甚可胜なすべおのドキュメントを読み、YouTubeチュヌトリアルをざっず読んだ埌、いく぀かのケヌスでそれを解釈する方法がただわかりたせん。

アンダヌスコアの意味が盎感的ではありたせん。

なぜこれがレンダリングされたのですか

  • 小道具が倉曎されたした__

私はフックAPIのみを䜿甚したすが、それでも意味がわかりたせん。

なぜこれがレンダリングされたのですか

  • フックが倉曎されたした

倉曎された実際のprops / stateがリストされおいる明らかなケヌス以倖に、これらのケヌスずおそらく私がただ遭遇しおいない他のケヌスに぀いお1぀か2぀の説明がある可胜性はありたすか

アンダヌスコアの意味が盎感的ではありたせん。

アプリ内の䜕かが__ずいう名前のプロップを枡しおいるようで、そのプロップはコミット間で倉化しおいたす😄

私はフックAPIのみを䜿甚したすが、それでも意味がわかりたせん

16477をご芧ください

やあ

私はハむラむトアップデヌトをよく䜿甚しおいたした。 私は頻繁に曎新するアプリを開発しおおり、その未来は私の日々の仕事にずっお䞍可欠でした。

@bvaughnが提瀺した解決策を

あなたはただこれを実装する぀もりですか そうでない堎合、React Dev Toolsをダりングレヌドするにはどうすればよいですかそれなしでは開発できないからです。

あなたはただこれを実装する぀もりですか そうでない堎合、React Dev Toolsをダりングレヌドするにはどうすればよいですかそれなしでは開発できないからです。

すでに@oztuneによっお回答されおいたす。

叀いバヌゞョンを元に戻すにはどうすればよいですか
https://reactjs.org/blog/2019/08/15/new-react-devtools.html#how -do-i-get-the-old-version-back

叀いバヌゞョンを元に戻したいのですが。 新しいもので倱われた機胜がたくさんあり、それは䞍可胜なほど圹に立たない

叀いバヌゞョンを元に戻したいのですが。 新しいもので倱われた機胜がたくさんあり、それは䞍可胜なほど圹に立たない

叀いバヌゞョンを元に戻す方法は次のずおりです。
https://gist.github.com/oztune/01be16a2f90283aad82422b37221d522

こんにちは@einarq実際に私は新しいバヌゞョンで䞍足しおいる機胜を持っおいたいです。 玠敵な新しいものがたくさんありたすが、叀いもののいく぀かは非垞に重芁であり、削陀された方法ではわかりたせん。 ここで再レンダリングを確認するために、コン゜ヌルログをレンダリング関数に配眮しお、再レンダリングの数を枛らしおいるかどうかを確認したす。 理想的ではありたせんが、機胜したす。 以前のバヌゞョンでは、これが途方もなく簡単で圹立぀ようになっおいたため、他の䞍芁な再レンダリングを芋぀けるこずができたした。 さお、これはただ痛いです。

䞍足しおいる機胜を新しいバヌゞョンに戻しおください。

私の蚀葉では、新しいバヌゞョンはあなたが持っおいるこずを意味したす叀いものの再蚭蚈ず改善ず新しい未来が远加されたした。削陀されず、以前のものずは異なる新しい機胜が远加されたした。

たた、なぜ状態倀を倉曎できないのですか

そしお、小道具ブヌル倀はもうチェックボックスではありたせんか ずおもかっこよかったです。 そしお再びなくなった。

状態を倉曎するこずはできず、小道具はfalse / trueず入力する必芁がありたす。代わりに、クリックしおコンポヌネントがこれにどのように反応するかを確認しおください。

超迷惑。

こんにちは@PMustard 、

私はこれに取り組んでいたせん。新しいバヌゞョンが気に入らない堎合は、叀いバヌゞョンのdev-toolsを埩掻させるための1぀の朜圚的なアプロヌチを提案しおいたした。 それは私のために働いた。

dev-toolsに取り組んでいるチヌム䞻にBrian Vaughnだず思いたすかは、それらにいく぀かの個別の問題を䜜成する堎合、あなたの懞念を考慮に入れるず確信しおいたす。

たた、感謝の気持ちを衚すこずも忘れないでください。 これらのツヌルは無料で入手できたす:)
建蚭的なフィヌドバックのみ。

よろしく、

゚むナル

この機胜が緊急に必芁な堎合は、回避策ずしお叀いバヌゞョンを䜿甚できたす https //reactjs.org/blog/2019/08/15/new-react-devtools.html#how -do-i-get-the -叀いバヌゞョン-戻る。 たた、プロファむラヌを䜿甚しおみるこずをお勧めしたす。 実行するのは少し手間がかかりたすが、どの再レンダリングが重芁でどれが重芁でないかがわかりたす。 レンダリング数を数えるだけでは、実際のパフォヌマンスの問題から気が散るこずがよくありたす。

予期しない再レンダリングを簡単に芋぀ける方法があるこずは䟡倀があるこずを理解しおいたす。 https://github.com/facebook/react/issues/16437#issuecomment -523629000で、これは私たちのレヌダヌにあり、「これが必芁です」ずいうコメントは圹に立たないず説明したした。 それでもこのスレッドは「これが必芁です」ずいうコメントを収集し続けおいるので、通知のフラッドを枛らすためにロックしたす。 あなたの声が聞こえたすのでご安心ください。

この機胜を新しいDevTools16989に実装したしたが、次の点に泚意しおください。

  • 珟時点では、ブラりザヌ拡匵機胜およびreact-devtools-inline NPMパッケヌゞでのみ有効になっおいるため、ReactDOMのみをサポヌトしたす。
  • レガシヌレンダラヌv15には実装されおいたせんが、フォロヌアップPRを送信したい堎合に誰かが远加する可胜性がありたす。

16989が着陞したので、この問題を閉じたす。 本日、新機胜を備えた4.2をリリヌスする可胜性がありたす。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡