Как сбросить Id-номер после удаления задания в списке дел?

Я работаю с React и Django. Я почти закончил его, но когда я удаляю todo из списка, он не обновляет номер id. Например, у меня есть пять тодо в списке 1, 2, 3, 4 и 5. Когда я удаляю номер 4. Он показывает 1, 2, 3, 5. Это должно быть в последовательности. Должно быть 1, 2, 3 и 4.

Надеюсь, мой вопрос понятен. Пожалуйста, помогите мне с этим вопросом.

Мой главный компонент AddTodo.js

Id является суррогатным ключом:

Суррогатный ключ не получен из данных приложения

Поле Id должно быть "скрыто" от пользователя. Единственной обязанностью Id является идентификация моделей.

Вы должны рассмотреть возможность добавления поля order к вашей модели Todo и поддерживать его в актуальном состоянии (на бэкенде), когда вы вставляете, переупорядочиваете или удаляете модель.

идентификатор todos возвращается при вызове приложения Django и является идентификатором todo в вашем бэкенд-приложении.

an Id - это уникальный ключ, используемый для идентификации ресурса (здесь todo) и не может быть изменен.

поэтому, если, например, todo имеет ключ 546, он всегда будет иметь один и тот же ключ, потому что он используется для идентификации этого todo.

В заключение можно сказать, что ваш компонент отображает правильный ответ и здесь нет ошибки

PS: При отображении данных мы стараемся не раскрывать id ресурса, потому что id используется внутри приложения, но не имеет значения для пользователя

Для решения вашей "проблемы" вам придется перестроить список todos в логике бэкенда. Это означает, что вам придется перебрать все элементы в вашем хранилище, вычислить / проверить ключ для каждой сущности и обновить их соответствующим образом. Это влечет за собой множество проблем, и дальнейшее обсуждение этого выходит за рамки данного вопроса.

Я бы не рекомендовал вам вообще изменять id ваших сущностей. Просто придерживайтесь [1,2,4,7,8,9,...].

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

<th scope="row">{index + 1}</th>

Если вы хотите переставлять сущности, создайте дополнительное свойство для сущностей типа 'orderIndex' и обновляйте это значение соответствующим образом при операциях удаления/добавления/записи.

Вернуться на верх