Skip to content

Commit 60ae291

Browse files
authored
Merge pull request reactjs#1187 from bvaughn/optimizing-performance
Added links to the Profiler deep-dive YouTube video
2 parents 2816d93 + cc5f9c8 commit 60ae291

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

content/blog/2018-09-10-introducing-the-react-profiler.md

+9
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ This blog post covers the following topics:
1818
* [Troubleshooting](#troubleshooting)
1919
* [No profiling data has been recorded for the selected root](#no-profiling-data-has-been-recorded-for-the-selected-root)
2020
* [No timing data to display for the selected commit](#no-timing-data-to-display-for-the-selected-commit)
21+
* [Deep dive video](#deep-dive-video)
2122

2223
## Profiling an application
2324

@@ -186,3 +187,11 @@ Sometimes a commit may be so fast that `performance.now()` doesn't give DevTools
186187
In this case, the following message will be shown:
187188

188189
![No timing data to display for the selected commit](../images/blog/introducing-the-react-profiler/no-timing-data-for-commit.png)
190+
191+
## Deep dive video
192+
193+
The following video demonstrates how the React profiler can be used to detect and improve performance bottlenecks in an actual React application.
194+
195+
<br>
196+
197+
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/nySib7ipZdk?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

content/docs/optimizing-performance.md

+17
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,23 @@ Note that **the numbers are relative so components will render faster in product
183183

184184
Currently Chrome, Edge, and IE are the only browsers supporting this feature, but we use the standard [User Timing API](https://developer.mozilla.org/en-US/docs/Web/API/User_Timing_API) so we expect more browsers to add support for it.
185185

186+
## Profiling Components with the DevTools Profiler
187+
188+
`react-dom` 16.5+ and `react-native` 0.57+ provide enhanced profiling capabilities in DEV mode with the React DevTools Profiler.
189+
An overview of the Profiler can be found in the blog post ["Introducing the React Profiler"](/blog/2018/09/10/introducing-the-react-profiler.html).
190+
A video walk through of the profiler is also [available on YouTube](https://www.youtube.com/watch?v=nySib7ipZdk).
191+
192+
If you haven't yet installed the React DevTools, you can find them here:
193+
194+
- [Chrome Browser Extension](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en)
195+
- [Firefox Browser Extension](https://addons.mozilla.org/en-GB/firefox/addon/react-devtools/)
196+
- [Standalone Node Package](https://www.npmjs.com/package/react-devtools)
197+
198+
> Note
199+
>
200+
> A production profiling bundle of `react-dom` is also available as `react-dom/profiling`.
201+
> Read more about how to use this bundle at [fb.me/react-profiling](https://fb.me/react-profiling)
202+
186203
## Virtualize Long Lists
187204

188205
If your application renders long lists of data (hundreds or thousands of rows), we recommended using a technique known as "windowing". This technique only renders a small subset of your rows at any given time, and can dramatically reduce the time it takes to re-render the components as well as the number of DOM nodes created.

0 commit comments

Comments
 (0)