при удалении чего-либо по id.
А конкретно:
У меня есть куча объектов, я удаляю 1 по нажатию на копку по конкретному объекту по id.
Дак вот, после этого действия мне нужно отрендерить коллекцию объектов уже без этого удаленного.
Как "правильнее" сделать - удалить из глобального стейта фронта этот объект и отрендерить, или сделать еще 1н запрос на базу, чтобы со 100% вероятностью не было ошибки в рендере объектов?
Я ранее делал доп. запрос на бэкэнд и перезапрашивал коллекцию заново, но сейчас, мне кажется, что такой подход дикость ))
А первый подход, подразумевает возможность ошибки.
Как делают крутые фронты? )
1 вариант
А если по каким-то причинам с базы удаление не произойдет?
а статусы тебе на что?
Спасибо!
Либо оптимистик (удаляй из стора и в фоне запрос шли), либо delete(id) -> send delete request -> on success: remove item with deleted id from store -> on failure: show error -> on finished: remove id from the pending list -> add id to the pending list
у релакс квери если возможность так удалять удаляет из стейта фронта сразу и если прилетает сакцес то на беке удалено если прилетает еррор то возвращаешь с в стейт фронта с показанием ошибки
Вся проблема в том, что я пока "почти добрался до type script" и там только начинают говорить об "архитектуре" приложения и вообще где, что и как в коде запросы должны располагаться. Поэтому для меня саксессы,квери это пока, как на китайском все. Кстати буду очень признателен, если кто-то вообще мне скинет годную ссылку, на простом языке, где вообще должны храниться запросы. Потому как сейчас мне кажется, что они должны быть спрятаны в redux toolkit с помощью createAsyncThunk. Хотя например из шарпов, мне понятно, что по идее должны быть какие-нибудь сервисы, контроллеры. И я их даже видел у ulbi в продвинутой авторизации, но тем ней менее
да я сам только теоретик) пытаюсь что то писать, но здесь есть знающий люди, но с ними сложно)
а че ты с шарпа во фронт то полез? обычно с Шарпа на гошку прыгают
это выбор работодателя ))
удаляю локально и после этого запрашиваю с бэка новый список А можно вообще сразу запрашивать новый список без локального удаления
Для чего стрикт мод используешь?
Прикинь если у тебя миллион карточек :( И ты на каждый чих будешь их запрашивать
а для чего он нужен? для выявления багов
у меня миллион карточек и на каждый чих я их запрашиваю
Юз эффект вызывает 2 раза, баги он тебе никак не покажет
Всегда по-разному
https://react.dev/reference/react/StrictMode
Прикинь у тебя 5000 тысяч пользователей, и каждый будет на удаление запрашивать базу с миллионом карточек :(
А норм в принципе запрос на миллион карточек кидать, по-твоему?
Для этого существует пагинация
а как иначе сохранить информацию что карточка удалена) надо делать запрос
Ну вот я о том и говорю, что мне последнее время это казаться стало какой-то дикостью - раньше я тоже так делал. ПОтому тут совета и спрашиваю
очень жаль) У меня от удаления карточек могут меняться другие карточки, из-за этого я вынужден так делать, но не вижу проблемы
В разных кейсах можно действовать по-разному
*до первой нормальной нагрузки
Ну да, тоже верно
ну вообще выше ответили - пагинация
Во-первых, если у тебя есть инфинит скролл, то вариант с рефетчем сразу же не подходит. Если у тебя +- статический список с размером в 50 элементов и сложной логикой сортировки и т.д., то проще перефетчить при модификации. Удаление довольно простая операция, при удалении можно и не рефетчить. А вот вставка и изменение уже посложнее
Обсуждают сегодня