Abu laiko duomenis, kurie veikia tai, ką komponenta atvaizduoja, tačiau jie skiriasi tuo, kas yra duomenų savininkas ir ar jie gali keistis.
Abu laiko duomenis, kurie veikia tai, ką komponenta atvaizduoja, tačiau jie skiriasi tuo, kas yra duomenų savininkas ir ar jie gali keistis.
// `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} />
Duomenys teka žemyn (tėvas → vaikas per props) ir pakeitimai teka aukštyn (vaikas paprašo tėvą ką nors keisti per callback prop, tokį kaip onChange). Šis vienpusis srautas yra tai, kas daro React programas nuspėjamomis.
props.x = 1) yra klaida — React nebus iš naujo atvaizduota ir jūs sulaužėte tėvo savybę. Norėdami "pakeisti prop", skambinkite callback, kurį jums davė tėvas, kad tėvas atnaujintų savo state ir perduotų naują reikšmę žemyn.IT pokalbių klausimų biblioteka su išsamiais atsakymais — nuo Junior iki Senior.
Paaukoti