Estado derivado: por que não copiar props pra o state
Pergunta
Por que `const [nome, setNome] = useState(props.nome)` costuma ser um antipadrão, e o que fazer no lugar?
Resposta esperada
`useState(props.nome)` só usa `props.nome` na PRIMEIRA renderização — se a prop mudar depois, o state não acompanha, e você tem duas fontes da verdade divergindo (o clássico 'o form não atualiza quando seleciono outro item'). A regra é: se um valor pode ser CALCULADO a partir de props/outro state, calcule no render (`const nomeFormatado = formata(props.nome)`) em vez de guardar em state. Só use state pra o que é genuinamente local e não derivável — o que o usuário digitou, se um modal está aberto. Se você precisa mesmo de state inicializado por prop e que 'reseta' quando a prop muda, o padrão é uma `key` no componente (forçando remontagem) ou, em último caso, sincronizar num efeito — mas quase sempre a resposta é não duplicar.
Por que perguntam isso
Pergunta pleno de React. O bug 'form não atualiza ao trocar de item' é o sintoma clássico. Sinal bom: 'calcule no render' e a solução com `key`.