Begge indeholder data, der påvirker det, som en komponent render, men de adskiller sig i hvem der ejer dataene og om det kan ændres.
Begge indeholder data, der påvirker det, som en komponent render, men de adskiller sig i hvem der ejer dataene og om det kan ændres.
// `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 flyder ned (forælder → barn via props) og ændringer flyder op (barn beder forælderen om at ændre noget via en callback prop som onChange). Denne ensrettet flow er det, der gør React-apps forudsigelige.
props.x = 1) er en fejl — React vil ikke re-render og du har ødelagt forælderens ejerskab. For at "ændre en prop" skal du kalde en callback, som forælderen gav dig, så forælderen opdaterer sin egen state og sender en ny værdi ned.Et bibliotek af IT-interviewspørgsmål med detaljerede svar — fra Junior til Senior.
Donér