TLDR;

The main performance hotspot in React applications is redundant processing and DOM diffing in components. In order to avoid this return false from shouldComponentUpdate as high up in your application as you can.

To facilitate this:

Make shouldComponentUpdate checks fast Make shouldComponentUpdate checks easy

Video

You can watch a video recording of me talking about about this topic on YouTube

Disclaimers!

The examples in this blog will be using React + Redux. If you are using another data-flow library the principles will apply but the implementation will be different.

I have not used an immutability library in this blog but only vanilla es6 and a little bit of es7. A few things become easier when using an immutability library but I will not be discussing them here.