Parabéns pelo post. Legal você explicar esses conceitos.
Recentemente fiz uma calculadora usando React também e tive que pensar nessas questões. No meu caso, usei o Redux para gerenciar o estado e cuidar da lógica da calculadora.
Link do repositório:
https://github.com/Vsspaulasouza/calculadora-react