Ambos armazenam dados que afetam o que um componente renderiza, mas diferem em quem é dono dos dados e se eles podem mudar.
Ambos armazenam dados que afetam o que um componente renderiza, mas diferem em quem é dono dos dados e se eles podem mudar.
// `step` is a PROP — given by the parent, the child only reads it.
// `count` is STATE — owned here, changes on click, causes a re-render.
function Counter({ step }) {
const [count, setCount] = useState(0);
return (
<button onClick={() => setCount(count + step)}>
{count}
</button>
);
}
// Parent decides the step and passes it down:
<Counter step={5} />
Os dados fluem para baixo (pai → filho via props) e as mudanças fluem para cima (filho pede ao pai para mudar algo via uma prop callback como onChange). Esse fluxo de mão única é o que torna os aplicativos React previsíveis.
props.x = 1) é um bug — React não fará re-render e você quebrou a propriedade do pai. Para "mudar uma prop", chame um callback que o pai lhe deu para que o pai atualize seu próprio state e passe um novo valor para baixo.Uma biblioteca de perguntas de entrevista de TI com respostas detalhadas — de Júnior a Sênior.
Doar