Sobes.tech
Middle+

Можем ли да променим пропсите в дъщерния компонент?

sobes.tech AI

Отговор от AI

В детски компонент не може директно да се променят пропсите, тъй като пропсите са входни данни, предавани от родителя към детето и се считат за неизменяеми вътре в детския компонент.

Ако трябва да промените данни, предадени чрез пропс, обикновено:

  • Родителят трябва да предаде функция за обратно извикване в пропсите, която детският компонент ще извика, за да промени състоянието на родителя.
  • Или да използвате локално състояние в детския компонент, ако данните не трябва да се синхронизират с родителя.

Пример в React:

function Parent() {
  const [value, setValue] = React.useState(0);
  return <Child value={value} onChange={setValue} />;
}

function Child({ value, onChange }) {
  return <button onClick={() => onChange(value + 1)}>Увеличи</button>;
}

По този начин, детският компонент не променя пропсите директно, а инициира промяна чрез callback.