Begge holder data som påvirker hva en komponent rendrer, men de er ulike når det gjelder hvem som eier dataene og om de kan endres.
Begge holder data som påvirker hva en komponent rendrer, men de er ulike når det gjelder hvem som eier dataene og om de kan endres.
// `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} />
Data flyter ned (overordnet → underordnet via props) og endringer flyter opp (underordnet ber overordnet om å endre noe via en callback-prop som onChange). Denne enveisflytingen er det som gjør React-apper forutsigbare.
props.x = 1) er en bug — React vil ikke re-rendre og du har brutt den overordnedes eierskap. For å "endre en prop", kaller du en callback som den overordnede ga deg slik at den overordnede oppdaterer sin egen state og sender en ny verdi ned.Et bibliotek av IT-intervjuspørsmål med detaljerte svar — fra Junior til Senior.
Doner