Basically the decision for whether to use useMemo is:
- Do I want this to run every single time the state changes? => Leave it plain
- Is it bad if this runs multiple times? => Yes useMemo
- Is this slow so it should only run when absolutely necessary => Yes useMemo