нет
он кривой, лучше не нужно
ля, токсик))0
А что юзать? Лучший вариант подскажи, вот что ты юзаешь для автокомплита?
зависит от проекта, вариантов миллиард, либо это автокомплит из ui кита, либо это самописное решение, либо какая то библиотека вкупе с со своим кодом.
зачем ты это мыло сюда кинул?)
Чисто объем показать, а не сам код)
Я их вообще не ставлю, но тут решил)
переберает массив, вообщето.
Что он там перебирает ? Он ничего не делает. Удали его и ничего не поменяется
Мутации локальных переменных внутри рендера — зачёт 👍🏿 Тоже сходи почитай react as a ui runtime
я хз как там что-то можно прочесть на фотке)
Тоесть в фотку влезло а в скрин нет?
Ты рофлишь что-ли? Там форич нужен, чтобы перебрать массив.
Так я мутирую, потому что мне надо на каждый рендер создавать новую переменную, это так задуманно.
А зачем вы пишите такие комментарии?) Типа refs, jsx, exports🤷♂ handlerChangingSuggestions Вообще все)
Плз скачай Lightshot и будет тебе счастье
Чтобы визуально разделять код, удобней для меня так.
Да это я просто так сделал, чтобы объем показать, а не сам код.
Лучше называть сущности так, чтобы было понятно что они такое) А писать комментарии типа "exports" - бесполезно и даже вредно, это просто засоряет код мусором Вообще писать комментарии к каждой строчке - это идея из бородатых времен когда самим языкам не хватало выразительных возможностей Сейчас это больше вреда приносит
Не на каждый рендер, а на каждый changingSuggestions
https://m.youtube.com/watch?feature=emb_title&time_continue=791&v=EEq1wdM2M2w посмотри чтобы не писать ненужные комментарии в коде
Так рендер и происходит на каждый changingSuggestions
Но не на каждый рендер происходит changingSuggestions
Настолько кон@@нный код что я даже не заметил
В каком месте он кон@@нный?
готовься что ближайшие 2 года почти весь твой код будет конченным. это нормальный процесс развития
Так проблема в том, что непонятно, где он конченный.
экономия ифов, нахуя? Мутация и создание temporary бесполезного чего то бесполезные комментарии дохуя условий, я уверен что это можно упростить
куда еще упростить?
Вот только я не знаю как упрощать, я вообще с трудом сделал этот автокомплит, а условия там нужны были. Я нормально скринами код кину - поймешь.
На строчке 26 присходит что-то странное. Вы используете выражение, результат которого игнорируете Сначала делаете преобразования "страны", а только потом проверяете, нужна ли она вам вообще
А если убрать ту цепочку из "&&" и написать условие нормальо - уверен, можно обойтись нормальным filter без ваших foreach и временных глобальных переменных
Вот то, что в теле forEach происходит - какой-то ад
Там проверяется, совпадает ли написанное в инпуте с началой названия страны из массива
А потом только проверяется, написано ли в инпуте что-то вообще
Откройте для себя Array.prototype.filter() - будет вам счастье
Зачем тогда && e.target.value ?
попробуй фильтр, серьёзно. ребята херни не посоветуют
обычный .filter()?
да, обычный
Точно, филтер же возвращает массив новый, зачем я создаю массив отдельно
а еще лучше будет вынести e.target.value хотя это и будет экономией на спичках, но все же
Вы все еще так считаете, или уже поняли?)
Я проверял, пустой ли массив, а не инпут.
И не надо ко мне на вы, мы не боги тут сидим, а обычные люди
У вас в коде) country.toLocaleLowerCase().startsWith() && !!!!!e.target.value!!!!
А, точно, ну я проверял, потому что, когда я стираю буквы из инпута, то все равно запускается функция, но подстроки он тогда находит сравнивая пустой инпут со всеми странами
Это хорошо, что вы проверяли Но это надо делать в самом начале
Точно, иначе кучу раз проверяю получается)
А нельзя было условие хотя бы в if поместить, и потом выполнить действие? Так бы хоть читабельно было
Какое именно условие?
То, которое через && проверяется
Обсуждают сегодня