The react documentation explain how to avoid useless rerenders.
Prevents the component from updating unless a prop has changed. Uses
shallowEqual() to test for changes.
Higher-order component version of
shouldComponentUpdate(). The test function accepts both the current props and the next props.
State management. Immutable.js for reducers (optional).
Reselect is a simple library for creating memoized, composable selector functions. Reselect selectors can be used to efficiently compute derived data from the Redux store.
Profiling Components with Chrome Timeline – From Facebook (1 min to read)