Oba držita podatke, ki vplivajo na to, kaj komponenta prikaže, vendar se razlikujeta v tem, kdo je lastnik podatkov in ali se lahko spremenijo.
Oba držita podatke, ki vplivajo na to, kaj komponenta prikaže, vendar se razlikujeta v tem, kdo je lastnik podatkov in ali se lahko spremenijo.
// `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} />
Podatki tečejo navzdol (starš → otrok preko props) in spremembe tečejo navzgor (otrok prosi starša, da nešto spremeni preko callback prop kot je onChange). Ta enosmerni tok je tisto, kar naredi React aplikacije napovedljive.
props.x = 1) je napaka — React ne bo naredil re-rendera in prekinili ste lastništvo starša. Če želite "spremeniti prop", pokličite callback, ki vam ga je dal starš, da starš posodobi svoje stanje in posreduje novo vrednost navzdol.Knjižnica IT vprašanj za razgovore s podrobnimi odgovori — od začetnika do izkušenega.
Doniraj