Как изменить состояние полей в массиве объектов, которые совпадают с id’шниками в другом массиве?

Для изменения состояния полей в массиве объектов, которые совпадают с id-шниками в другом массиве, вам потребуется провести несколько шагов.

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

const originalArray = [...yourOriginalArray];

2. Используя метод map, переберите элементы второго массива с id-шниками и внесите изменения в скопированный массив, используя соответствующие id-шники.

const updatedArray = originalArray.map(item => {
  if (secondArray.includes(item.id)) {
    // внесите изменения в поле объекта, которое вам нужно изменить
    // например, установите новое значение поля
    return { ...item, fieldToChange: newValue };
  }
  return item;
});

Обратите внимание, что здесь мы используем метод includes, чтобы проверить наличие id-шников во втором массиве. Если id-шник присутствует, мы изменяем соответствующий элемент в скопированном массиве.

3. Затем вы можете обновить состояние компонента, присвоив скопированный и измененный массив переменной состояния.

setYourArrayState(updatedArray);

Теперь, после обновления состояния, ваши поля в массиве объектов, которые совпадают с id-шниками в другом массиве, будут изменены.

Обратите внимание, что в приведенном выше примере я предполагаю, что вы работаете с функциональным компонентом, поэтому использовал хук useState для установки нового состояния. Если вы работаете с классовым компонентом, вам потребуется использовать метод setState вместо хука useState.