react-performance
Last updated
Was this helpful?
Last updated
Was this helpful?
My list includes a number of useful tools for visualizing React component updates, in the section.
React Docs: Performance The React doc pages on performance. Describes the core concepts, including shouldComponentUpdate, using immutable data, and the Performance API for benchmarking.
Performance Engineering with React A 2-part series on React performance. Excellent information. Goes in-depth on use of the Perf API, shouldComponentUpdate, shallow equality, and how to properly profile components. Highly recommended. Further useful discussion in the HN comment thread.
Respectable React Components A slideshow that walks through the core concepts of managing good React performance.
Optimizing React Performance using keys, component lifecycle, and performance tools Another pretty good in-depth look at performance, with a number of useful illustrations. Only downside is that some of the examples follow bad practice by directly mutating state, but the performance information is solid.
shouldComponentUpdate Will Short-Circuit an Entire Subtree of Components in React A reminder that SCU skips a component's children as well as that component, with a demo.
Index as a Key is an Anti-Pattern A reminder that unique keys are the best idea for arrays of components.
React.js pure render performance anti-pattern Looks at common ways that you might accidentally stop pure rendering from doing its job, such as passing in new object references or creating new functions as props.
How to Make Your React Apps 15x Faster A couple quick tips: using NODE_ENV=production, and Babel's React constant/inline transformations
Optimising React rendering Another couple quick tips: only updating changed elements, and making children smarter
Performance optimisations for React applications Covers ways to make update checks fast and easy. (NOTE: the advice given to "denormalize" data may not be the best approach - see discussion with Dan Abramov in the comments.)
Should I use shouldComponentUpdate?
A reminder that shouldComponentUpdate
is itself code that has to execute, and that using it involves measured tradeoffs.
"shouldComponentUpdate - using it for performance optimizations"
Discussion on pros, cons, and approaches to using shouldComponentUpdate
A Cartoon Guide to Performance in React An excellent presentation by Lin Clark of Code Cartoons. Covers what work browsers do when rendering, what work React does, and the main ways you can improve React performance. Very clear and easy to understand.
Component Rendering Performance in React A comparison of how fast rendering happens in React 14 vs 15, and functional components vs class components
Performance Conditionally Rendered Content in React A tip for improving performance when conditionally rendering components: use a function as a child, and only call that function if the condition is true.
Building Efficient UI with React and Redux Builds a simple app using React, Redux, and Immutable.js, and looks at some of the most common misuses of React and how to avoid them.
"Comparing React to Vue for dynamic tabular data" Good comments from an HN thread discussing a React vs Vue benchmark. A Discord developer talks about several lessons learned, including pros and cons of using Immutable.js, and only rendering elements that are visible.
Immutable.js: worth the cost?
Looks at several pros and cons of using Immutable.js, such as enforced immutability (pro), and major performance problems from calling toJS()
frequently (con).
React + Redux performance optimization with shouldComponentUpdate
Discussion of proper Redux connection structure and use of Immutable's toJS()
, with links to further articles and discussions.
"React-Immutable-Mixin vs PureRenderMixin" - comment from Lee Byron Immutable.js author Lee Byron comments on a performance discussion, giving advice on suggested Immutable.js usage patterns
"Immutable perf tip: avoid toJS" Another suggestion from Lee Byron to avoid use of Immutable.js's data conversion functions based on performance reasons.
High Performance Redux
A detailed HTML slideshow that digs down into React Redux to show how connect()
's optimizations work, and has interactive demos to show various approaches. (Note: the code-related slides advance using the down arrow to step through different lines of code - don't miss that info!)
How to optimize small updates to props of nested component? Looks at how a normalized Redux state structure combined with multiple connected components can improve performance
Redux TodoMVC Pull #1: Optimization An optimization pass for a Redux vs MobX benchmark, demonstrating several techniques
Redux Issue #1751: Performance issues with large collections Discussion of several factors that affect Redux performance
Improving React and Redux Performance with Reselect Covers how to use Reselect to define memoized "selector" functions that can cut down on duplicate work
Chat discussion - summary of Redux connection perf considerations An overview of how having many connected components can improve performance
Chat discussion - single connected component vs many connected components An extended chat log discussing pros and cons of various approaches to managing connected components in a Redux app