Что передать в key если нет Id? Создать Id!

preview_player
Показать описание
Ситуация когда нужно отрисовать список, но подходящего id нет, часто ставит в ступор даже опытных разработчиков. В этом примере я покажу как решить эту проблему)

Рекомендации по теме
Комментарии
Автор

Если нет id, то надо создать id) На самом деле гениально! Надо запомнить на будущее.

uszakow
Автор

Хорошее видео, хотелось бы дополнить, key внутри реакта хранится в Map, ключи по дефолту на основе индекса и числовые, но все что вы передадите в key приводится к строке еще в момент выполнения jsx выражений, можно легко посмотреть выполнив console.log(<div key={0} />)

oWeRQ
Автор

Посмотрел много твоих видео, контент нормальный, хотелось бы больше продвинутого, по примеру: продвинутый typescript (не только про ts, а видео более продвинутых уровней).
Также, когда пишешь код, или объясняешь, хотелось бы видеть код лучше(т.к. иногда приходится смотреть на телефоне), можно зумить его.
Также, возможно стоит выбирать более кликбейтные названия, чтобы ютуб продвигал, можно с помощью чат gpt генерировать множество вариантов на основе описания, а там уже самому отфильтровать. Удачи 🔥

art
Автор

Спасибо, сама также использовала и случайно наткнулась на доку nanoid, там так и написано: не использовать для key при рендере, хотя такой вариант преподносят некоторые статьи и тд

YaniaRZ
Автор

Спасибо за такую полезность, очень может пригодится у меня на проекте. А как относитесь к генерации и сохранению id в redux?

alexandershcheglov
Автор

недавно в работе была похожая ситуация, требовалось использовать react-hook-form и там есть хук useFieldArray, указал в key i ( вместо предлагаемого id внутри элемента массива ), и не мог решить эту задачу некоторое время, этот ролик мне бы пригодился сейчас, но надеюсь у других разработчиков за счет этого ролика не будет глупых ситуаций как у меня)

uzarixx
Автор

Лайк не глядя)
Не успел пролистать тг канал полностью и поэтому не знаю. Как там продолжение курса по реакт? Я уже дошёл до онгоинга так сказать)

pikau
Автор

отличный урок, тоже одно время генерил айдишники генератором ))

позанудствую, может кому полезно будет. handleSave правильно писать через вызов setStrings с колбэком, а там уже предыдущий массив клонировать, изменять и возвращать. ну и там уже поиск с индекса на айди надо не забыть переписать.

ArtyemSavchenko-rus
Автор

с nanoId - прикольній кейс, не знал, спасибо!

sergeyf
Автор

remove короче и предпочтительнее же через filter делать. А еще видел делают в качестве key - value.toString() - это норм ?

ПавелФёдоров-ьж
Автор

А что если есть массив условно из более 500 айтемов без id?

NurjahonErgashev-id
Автор

привет, нет желания рассмотреть Next-auth? Прикольная либа, , новичкам может быть полезной

shittywizzard
Автор

привет, подскажи что лучше использовать, если нужно получать и отправлять данные в mysql

lesters
Автор

Вариант с псевдорандомными айдишниками: Date.now() + Math.floor(Math.random() *100)
Главное, чтобы боги рандома не выдали вам одинаковые числа при одновременной генерации)))

LueKedowsky