https://medium.com/react-in-the-real-world/7-react-performance-optimization-techniques-you-cant-ignore-bc15c60e9a00