https://hashnode.com/post/a-reintroduction-to-react-cjsbli2an02b7dys2y3ypng2z#cjsfqaw1900s34ws2zvdbv3mc
Patrick Ludewig's answer to A (re)introduction to React