https://blog.stackademic.com/learn-react-building-performant-uis-with-reusable-components-part-1-302847892c37