Если родительский компонент передаст новый массив в качестве пропсов, увидишь ли ты новые данные на экране или старые? Почему?

Если родительский компонент передаст новый массив в пропсах, то в дочернем компоненте отобразятся новые данные.

Короткий ответ

Что ответить на собеседовании

Если родительский компонент передаст новый массив в пропсах, то в дочернем компоненте отобразятся новые данные. Это связано с тем, что React сравнивает пропсы по ссылке. При передаче нового массива ссылка меняется, поэтому React понимает, что пропсы обновились, и перерисовывает компонент с новыми значениями.

Подробный разбор

Ответ с пояснениями

Если родительский компонент передаст новый массив в пропсах, то в дочернем компоненте отобразятся новые данные. Это связано с тем, что React сравнивает пропсы по ссылке. При передаче нового массива ссылка меняется, поэтому React понимает, что пропсы обновились, и перерисовывает компонент с новыми значениями.

Пример:

function Parent() {
  const [items, setItems] = React.useState([1, 2, 3]);

  // Создаем новый массив при обновлении
  const updateItems = () => setItems([4, 5, 6]);

  return <Child data={items} />;
}

function Child({ data }) {
  return <div>{data.join(", ")}</div>;
}

При вызове updateItems в Parent в Child отобразятся новые данные.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее