RN/React. Почему событие onchange не работает реактивно?

Всем привет. Есть следующая проблема. У меня есть компонент TodoList, который внутри себя использует SwipeListView. Он получает массив с данными, и далее рендерит список Todo и TodoMenu (это для swipe и кнопки удаления). выглядит вот так:

введите сюда описание изображения

Далее мои шаги следующие:

  1. Создаю новую Todo, в списке появляется одна задача.
  2. Создаю еще одну Todo, в списке появляется вторая. Всего их две.
  3. Нажимаю на checkbox первой todo (фото компонента ниже), onChange вызывает метод switchChecked, который идет в список моих всех todos и оказывается, что в моем todoData всего 1 todo (как раз та, на которую я нажал). Если я создаем 5 todo, и нажму на checkbox третьей todo - в списке окажется три todo, последняя будет моя, на которую я нажал, а те, что идут после - их почему-то нет.

введите сюда описание изображения

При этом, если я делаю тоже самое при удалении todo (всё тоже самое, так же вызываю метод при удалении конкретной todo, иду наверх к массиву todos), то там количество todo правильное введите сюда описание изображения

Не понимаю, почему именно при использовании checkbox onchange в моем TodoList оказывается неправильное количество элементов? Я пробовал убрать onchange у checkbox и просто менять состояние complete при нажатии на Todo, а не на checkbox - тогда всё работает отлично. А если я вызываю изменение выполнения через нажатие на checbox - в todo листе оказывается меньшее количество элементов.

Надеюсь получилось объяснить. Помогите, почему так происходит?


Ответы (0 шт):