Sobes.tech
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.