https://sanonz.github.io/2020/state-management-and-performance-optimization-for-react-context-api-with-hooks/