https://css-tricks.com/getting-to-know-the-usereducer-react-hook/
https://blog.carbonfive.com/replacing-component-lifecycle-methods-with-react-hooks/
https://leewarrick.com/blog/react-use-effect-explained/
https://www.digitalocean.com/community/tutorials/react-usecontext