Obie przechowują dane wpływające na to, co komponent renderuje, ale różnią się posiadaniem danych i możliwością ich zmiany.
Obie przechowują dane wpływające na to, co komponent renderuje, ale różnią się posiadaniem danych i możliwością ich zmiany.
// `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} />
Dane płyną w dół (parent → child poprzez props) a zmiany płyną w górę (child prosi parenta o zmianę czegoś poprzez callback prop taki jak onChange). Ten jednokierunkowy przepływ to właśnie to, co czyni aplikacje React przewidywalnymi.
props.x = 1) jest błędem — React nie będzie re-renderować i złamałeś posiadanie parenta. Aby "zmienić prop", wywołaj callback, który parent ci dał, aby parent zaktualizował swój własny state i przekazał nową wartość w dół.Biblioteka pytań rekrutacyjnych IT ze szczegółowymi odpowiedziami — od Juniora do Seniora.
Wesprzyj