Entrambi contengono dati che influenzano ciò che un componente renderizza, ma differiscono in chi possiede i dati e se può essere modificato.
Entrambi contengono dati che influenzano ciò che un componente renderizza, ma differiscono in chi possiede i dati e se può essere modificato.
// `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} />
I dati fluiscono verso il basso (genitore → figlio tramite props) e i cambiamenti fluiscono verso l'alto (il figlio chiede al genitore di cambiare qualcosa tramite una callback prop come onChange). Questo flusso unidirezionale è ciò che rende le app React prevedibili.
props.x = 1) è un bug — React non farà re-render e hai rotto la proprietà del genitore. Per "modificare una prop", chiama una callback che il genitore ti ha dato in modo che il genitore aggiorni il suo state e trasmetta un nuovo valore verso il basso.Una raccolta di domande di colloquio IT con risposte dettagliate — da Junior a Senior.
Dona