Middle+
Можемо ли променити пропсе у дечијем компоненту?
sobes.tech АИ
Одговор од АИ
U detetovom komponentu, props-ovi se ne mogu direktno menjati, jer su props ulazni podaci koje roditelj prosleđuje detetu i smatraju se nepromenljivim unutar detetovog komponenta.
Ako je potrebno da promenite podatke prosleđene putem props-a, obično:
- Roditelj mora da prosledi funkciju povratnog poziva u props, koju će detetov komponent pozvati da promeni stanje roditelja.
- Ili koristiti lokalno stanje u detetovom komponentu, ako podaci ne treba da budu sinhronizovani sa roditeljem.
Primer u React-u:
function Parent() {
const [value, setValue] = React.useState(0);
return <Child value={value} onChange={setValue} />;
}
function Child({ value, onChange }) {
return <button onClick={() => onChange(value + 1)}>Povećaj</button>;
}
Na ovaj način, detetov komponent ne menja props direktno, već inicira promenu putem callback-a.