Oi, Joao! Como vai?
Agradeço por compartilhar sua dúvida com a comunidade Alura.
Seu raciocínio está bem alinhado! Quando você passa setValor={setEmail}, o que acontece é que você está passando a referência da função setEmail como uma prop para o componente CampoDeDigitacao.
Sempre que o evento onChange acontece dentro desse componente, ele dispara a função setValor, que na verdade é a própria função setEmail. Assim, o valor do estado do email é atualizado e o React faz a re-renderização automática com o novo valor.
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado