Ótima dica! Kent C. Dodds chama essa abordagem de "estado derivado" e recomenda que sempre se use estado derivado quando possível em vez de encher um componente de setStates e useEffects desnecessários.
Link do artigo dele sobre o assunto: Don't Sync State. Derive It!
Claro que, pelo menos pra mim que sou um reles júnior, esse tipo de coisa exige um pouco de prática. Ainda sou meio viciado em useEffect, mesmo quando ele cria uma mega complexidade difícil de lidar. Mas eu espero que em breve eu consiga superar isso.