Как сделать поиск на React.js. ЧАСТЬ 1. Live Search

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ต.ค. 2024
  • 🏆 Поднять мотивацию и получить плюшки(сборка, исходники, чат со мной):
    🔹 Patreon: / roman_timoshchuk
    🔹 Buy me a coffee: www.buymeacoff...
    🔹 Crypto:
    👉 USDT(ERC20): 0xA4008910De17DB20c7505425316fF72d4C5Eed96
    👉 USDT(BEP20): 0x4350c4E1C0bB35634C7fDE1cFB278BE0606E3822
    👉 Binance Pay: 432902886
    📨 Сотрудничество ► timoschuk.roman@gmail.com
    📨 Business inquiries ► timoschuk.roman@gmail.com

ความคิดเห็น • 132

  • @SherzodNurillaev-f3y
    @SherzodNurillaev-f3y หลายเดือนก่อน +2

    Ты гений, красавчик я своего сына в честь тебя назову ❤❤❤ всё коротко и четко объяснил

  • @bublikbublikovich2229
    @bublikbublikovich2229 2 ปีที่แล้ว +8

    5 минут и обьяснил доходчиво, чел ты лучший

  • @kyryllsemendiaiev
    @kyryllsemendiaiev 3 หลายเดือนก่อน

    Канал находка! Желаю удачи и продвижения автору данного канала!

  • @evloev4821
    @evloev4821 3 ปีที่แล้ว +6

    Никогда раньше не делал поисковики, на работе дали задачу, потрачено времени 15 минут и готово) спасибо 😉

    • @lets_try_js
      @lets_try_js  3 ปีที่แล้ว +3

      Рад что кому-то это приносит пользу)

    • @user-ce9yr3my4g
      @user-ce9yr3my4g 2 ปีที่แล้ว

      Балх как джун ва хьо?

    • @evloev4821
      @evloev4821 2 ปีที่แล้ว

      @@user-ce9yr3my4g ву

  • @smotritelyoutube
    @smotritelyoutube 2 ปีที่แล้ว +5

    Рили оч круто, я когда искал как сделать поиск думал щас придется смотреть урок часовой, а тут 5 минут и все работает даже у меня с 1 раза, пасиб

  • @Saveli_Sh
    @Saveli_Sh 2 ปีที่แล้ว +4

    Спасибо огромное! Первый опыт и тааак быстро!!! Никогда еще уроки из интернета не приносили пользу так быстро! Хотела подписаться, оказывается, уже подписана! Спасибо и успехов Вам!!!!

    • @lets_try_js
      @lets_try_js  2 ปีที่แล้ว +1

      рад помочь)

  • @ЕкатеринаДержицкая
    @ЕкатеринаДержицкая 3 ปีที่แล้ว +6

    хороший пример фильтрации на стороне фронтенда, когда получаем сразу все данные.

  • @nk_77777
    @nk_77777 5 หลายเดือนก่อน

    Дай Бог тебе здоровья, бро!)
    Ну просто лучший)

  • @Zubairavvv
    @Zubairavvv 2 ปีที่แล้ว +1

    Спасибо, очень коротки и быстро, лучший!

  • @SKAZKAPAGE
    @SKAZKAPAGE ปีที่แล้ว +1

    Просто отец, нереально помог

  • @NewDimix
    @NewDimix ปีที่แล้ว

    Выглядит очень просто... Спасибо, буду пробовать

  • @alexandrzhuykov7355
    @alexandrzhuykov7355 2 ปีที่แล้ว

    Наткнулся на этот видос прям в нужный момент! Спасибо за быстрый и понятный туториал!!! с меня подписка.

  • @zomtv5027
    @zomtv5027 3 ปีที่แล้ว +4

    Бро очень крутоооооо!!!! ТЕБЕ от души благодарю

  • @РасулМалачиев-у8у
    @РасулМалачиев-у8у 2 ปีที่แล้ว +1

    Спасибо, хорошо объясняешь.

  • @olegpavlov4329
    @olegpavlov4329 2 ปีที่แล้ว

    Гениальность в простоте. Ты гений)))

  • @dimaruy2975
    @dimaruy2975 2 ปีที่แล้ว +2

    Круто! Спасибо, все очень понятно и доступно

  • @jamesdarrel4540
    @jamesdarrel4540 2 ปีที่แล้ว

    Братишка, ты сэкономил мне много времени и головной боли! Спасибо 😊

    • @lets_try_js
      @lets_try_js  2 ปีที่แล้ว +1

      рад помочь)
      успехов в обучении)

  • @nikogen
    @nikogen ปีที่แล้ว

    лучший
    очень быстро и понятно

  • @ВладимирГугин-ш7щ
    @ВладимирГугин-ш7щ 3 ปีที่แล้ว +3

    Спасибо, помогло!

    • @lets_try_js
      @lets_try_js  3 ปีที่แล้ว +1

      Рад помочь )

  • @TRIZ-Bogatyregold
    @TRIZ-Bogatyregold 2 ปีที่แล้ว

    Спасибо за видос! Автору канала удачи!

  • @mszulya4100
    @mszulya4100 3 ปีที่แล้ว +2

    От души спасибо!

  • @МериИскандарян-ю2ы
    @МериИскандарян-ю2ы 6 หลายเดือนก่อน

    Извините, а CoutryItem откуда надо брать?

  • @111max11
    @111max11 3 ปีที่แล้ว +2

    Спасибо, быстро и понятно)

  • @ggaimer4244
    @ggaimer4244 9 หลายเดือนก่อน

    Спасибо большое)😘

  • @sirlion1549
    @sirlion1549 3 ปีที่แล้ว +1

    Мощно, спасибо!

  • @ruslankashapov5443
    @ruslankashapov5443 ปีที่แล้ว

    Сначала сделал, потом посмотрел как тут - примерно совпало!

    • @lets_try_js
      @lets_try_js  ปีที่แล้ว +1

      отличный подход)

  • @RikiTiki-dv8zx
    @RikiTiki-dv8zx 2 ปีที่แล้ว

    Привет, подскажи как сделать поиск только по кнопке поиска если нажимать. Чет не пойму никак((.

  • @annasaenkova3121
    @annasaenkova3121 2 ปีที่แล้ว

    привет, а как можно сделать чтобы когда выбираешь позицию из списка с вариантами поиска, то эта позиция добавлялась бы в строку поиска? как span

  • @iuliiaprusakova73
    @iuliiaprusakova73 2 ปีที่แล้ว

    Супер, спасибо за видео

  • @НатальяСеменюк-ъ6п
    @НатальяСеменюк-ъ6п 3 ปีที่แล้ว +1

    Спасибо, очень помогло!)

    • @lets_try_js
      @lets_try_js  3 ปีที่แล้ว

      рад помочь)

  • @АлександрЕрмолов-п2ь
    @АлександрЕрмолов-п2ь 2 ปีที่แล้ว +1

    Буду благодарен, если в следующий раз выложишь рыбу на гитхаб...

  • @bakti-q8x
    @bakti-q8x ปีที่แล้ว

    Очень круто объяснили большое тебе спасибо

  • @НадеждаЗакервашевич
    @НадеждаЗакервашевич 2 ปีที่แล้ว

    Спасибо. Все так легко и просто оказывается))

  • @Sergei546
    @Sergei546 ปีที่แล้ว

    круто вы молодец

  • @cao_dzecbi
    @cao_dzecbi 8 หลายเดือนก่อน

    Подскажи, умоляю
    А как вывести на экран информацию, что по указанному фильтру нет стран?

  • @krypton5204
    @krypton5204 ปีที่แล้ว

    Спасибо большое

  • @whiteguards43
    @whiteguards43 2 ปีที่แล้ว

    а как делать, если вместо входящего массива, и перебора через map, сделал через props

  • @calebdume6930
    @calebdume6930 2 ปีที่แล้ว

    Большое спасибо очень помогло!!❤

  • @emporteme
    @emporteme 2 ปีที่แล้ว

    а что если у меня данные рендериться не через метода map()
    в моем случае мне нужно создать дерево на react-d3-tree
    и поисковик на него
    но там все рендериться не через map()

  • @ivantrofimov6966
    @ivantrofimov6966 3 ปีที่แล้ว +1

    Лучший!

  • @TraderOff-Road
    @TraderOff-Road ปีที่แล้ว

    большое спасибо !

  • @DV-vt5sg
    @DV-vt5sg 3 ปีที่แล้ว +1

    Привет! Все классно , а почему компонент CountryItem не показал? Чё там внутри )

    • @lets_try_js
      @lets_try_js  3 ปีที่แล้ว +1

      та там внутри нет ничего интересного и полезного)

    • @ulanbek-mn3er
      @ulanbek-mn3er 2 ปีที่แล้ว +1

      @@lets_try_js ну можешь показать пожалуйста

  • @dmitruz1900
    @dmitruz1900 2 ปีที่แล้ว

    А как это ты добавляешь дивы и атрибуты с html в файл js безиспользования шаблонной строки?

    • @nursultanmamytbekov8180
      @nursultanmamytbekov8180 2 ปีที่แล้ว

      Это jsx. Почитай документацию реакта

  • @META_MAZ
    @META_MAZ 2 ปีที่แล้ว

    а можно в место includes написать find ?

  • @arturazimov5662
    @arturazimov5662 3 ปีที่แล้ว +1

    Спасибо тебе большое

  • @bezbezov8867
    @bezbezov8867 3 ปีที่แล้ว +1

    Молодец👍🏽

  • @ВладимирЛитовченко-ш3н
    @ВладимирЛитовченко-ш3н ปีที่แล้ว

    Дуже дякую за відео! Все досконало! Можно показати як правильно зробити сторінку виходу? Тобто при натиску кнопки "Вихід"

    • @lets_try_js
      @lets_try_js  ปีที่แล้ว

      є відосік на каналі де повноцінний додаток роблю і там є ця функція

  • @ИванПрогер
    @ИванПрогер 3 ปีที่แล้ว

    очень круто всё работает спс за видео

    • @lets_try_js
      @lets_try_js  3 ปีที่แล้ว

      рад помочь)

  • @manofsteppe179
    @manofsteppe179 3 ปีที่แล้ว

    Подскажи пожалуйста как ты сжимаешь файлы (gzipped)? через плагин в vs code? можешь дать ссылку на лубую инфу, я ищу инфу но не могу найти в силу не хватки знания в целом, скачал tailwind теперь не знаю как сжать, посоветовали gzipped но не знаю как подключить

    • @lets_try_js
      @lets_try_js  3 ปีที่แล้ว +1

      Не совсем понял вопрос

    • @manofsteppe179
      @manofsteppe179 3 ปีที่แล้ว

      0:52 где import написано рядом зеленым цветом 7.2К (gzipped: 3K) как ты их сжал? подключал плагин или где нужно прописать через npm или как вообще тоже самое сделать?

    • @lets_try_js
      @lets_try_js  3 ปีที่แล้ว +1

      @@manofsteppe179 я ничего не сжимал)
      это плагин, который показывает вес подключенных библиотек просто
      называется Import Cost

    • @manofsteppe179
      @manofsteppe179 3 ปีที่แล้ว

      @@lets_try_js Спасибо!

  • @knuckless__
    @knuckless__ ปีที่แล้ว

    кращий , вдячний

  • @daniilchistyakov3087
    @daniilchistyakov3087 3 ปีที่แล้ว

    Привет, как бороться с тем, что в хуке, который висит на обработчике OnChange хранится предыдущее значение из input? Порой это бывает важно.

    • @lets_try_js
      @lets_try_js  3 ปีที่แล้ว

      не совсем понял вопрос

    • @daniilchistyakov3087
      @daniilchistyakov3087 3 ปีที่แล้ว +1

      @@lets_try_js ну смотри, у нас же если мы выведем значение из хука, который повешен на onChange поискового input, то у нас будет значение перед последним действием (т.е. печатаем "друзья", а в переменной будет "друзь"). Как брать самое актуальное значение (чтобы было "друзья)?

    • @yurizhdanov
      @yurizhdanov ปีที่แล้ว

      @@daniilchistyakov3087 вешать Debounce с задержкой на пол сек

  • @nurlanmehdiyev7428
    @nurlanmehdiyev7428 2 ปีที่แล้ว

    Спасибо!

  • @ТариэлТаиров
    @ТариэлТаиров 2 ปีที่แล้ว

    спасибо

  • @serjmarkelov9915
    @serjmarkelov9915 3 ปีที่แล้ว +1

    Вау, спасибо

    • @lets_try_js
      @lets_try_js  3 ปีที่แล้ว

      Надеюсь полезно )

  • @АНДРЕЙХондард
    @АНДРЕЙХондард 3 ปีที่แล้ว

    Люблю)
    всё

  • @ПетроСтесенко
    @ПетроСтесенко 2 ปีที่แล้ว

    дякую друже!!!100 комент=)

  • @marcusaurelius7109
    @marcusaurelius7109 3 ปีที่แล้ว

    Крутой канал!!!

    • @lets_try_js
      @lets_try_js  3 ปีที่แล้ว +1

      благодарю)

  • @elementalhero9939
    @elementalhero9939 ปีที่แล้ว

    Было бы гораздо лучше если бы делался код без проблем которые я заметил. В эффекте отсутствует зависимость getCountries. И getCountries нужно обернуть в useCallback. Линтер будет ныть. Там где ты фильтруешь countries было бы отлично обернуть в useMemo и вообще разнести по компонентам это все дело. Да и index указывать в key в этом случае совсем плохо. Прими критику как если бы твое видео смотрели не новички. Было бы профессиональнее с твоей стороны :)

  • @mikestr1782
    @mikestr1782 3 ปีที่แล้ว

    Салют, можешь сделать этот же проект, только работало через redux?

  • @STELLS541
    @STELLS541 2 ปีที่แล้ว

    а смотри, столкнулся с такой проблемой - делал пагинацию по твоему видосу, потом решил прикрутить туда поиск и вроде бы все работает, но заметил такой баг, что поиск корректно работает только на первой странице, когда выбираешь 2 и любую др страницу кроме первой, то поиск начинает вести себя оч странно.

    • @lets_try_js
      @lets_try_js  2 ปีที่แล้ว

      тут может быть много причин, без кода в этом не разобраться))

    • @STELLS541
      @STELLS541 2 ปีที่แล้ว

      @@lets_try_js ну я уже понял, в чем там дело было
      Там же мы используем метод слайс,чтоб размер получить и кол-во страниц задать, а я туда передавал наш отфильтрованный массив и все ломалось
      Я просто решил во время фильтрации скрывать наш исходный массив и подменять его на новый, все работает четко,ток стили поправить осталось

    • @STELLS541
      @STELLS541 2 ปีที่แล้ว +1

      @@lets_try_js а ещё хотел спросить- а как вот пагинацию выделять, чтоб было выделено, какая сейчас страница?

    • @lets_try_js
      @lets_try_js  2 ปีที่แล้ว +1

      @@STELLS541 при клике, когда мы переключаемся на ту или иную страничку пагинации, этому элементу нужно добавить класс активности
      но как там у вас это реализовано, я не знаю)

    • @STELLS541
      @STELLS541 2 ปีที่แล้ว

      @@lets_try_js а как это как раз сделать?
      Я так понимаю,что надо динамически стили задавать ?

  • @ЕвгенийКарань-ю5ф
    @ЕвгенийКарань-ю5ф 2 ปีที่แล้ว

    в сочетании с debounce будет выглядеть еще солиднее

    • @lets_try_js
      @lets_try_js  2 ปีที่แล้ว

      Для оптимизации - несомненно

  • @ЭшУильямс-ж2г
    @ЭшУильямс-ж2г 3 ปีที่แล้ว +1

    ссылку на код можно?

    • @lets_try_js
      @lets_try_js  3 ปีที่แล้ว

      не осталось исходника(

  • @Victor-il9gm
    @Victor-il9gm 3 ปีที่แล้ว

    спасибо!

    • @lets_try_js
      @lets_try_js  3 ปีที่แล้ว

      рад помочь)

  • @MegaDimka16
    @MegaDimka16 3 ปีที่แล้ว

    А можно ссылку на весь код программы?

    • @lets_try_js
      @lets_try_js  3 ปีที่แล้ว

      так а это приложение старое и не дописанное)

    • @MegaDimka16
      @MegaDimka16 3 ปีที่แล้ว

      ​@@lets_try_js У меня просто вопрос. У меня есть таблица которую я маплю и вывожу данные , и одна из колонок должна фильтроваться данным методом. Как мне добавить оставшиеся данные в таблицу к этому способу или наоборот. Вот const tableElements =
      [...props.school]
      .map(p => );

    • @lets_try_js
      @lets_try_js  3 ปีที่แล้ว

      @@MegaDimka16 ну сложно ответить, не видя весь код полностью )

  • @Влэйпи
    @Влэйпи 2 ปีที่แล้ว

    Не поверишь, на моем проекте тоже список стран и мне тоже надо искать страны по списку🤣

  • @emporteme
    @emporteme 2 ปีที่แล้ว +1

    у кого есть код?)

  • @b.g.5106
    @b.g.5106 3 ปีที่แล้ว

    толькоко не реакт)) все было хорошо на ангуляре, пока эта попса не получилась))
    P.S. Извиняюсь, перепутал блогера)) но реакт овно 😀 полетят в меня камни, ведь у него большая поддержка

    • @lets_try_js
      @lets_try_js  3 ปีที่แล้ว +1

      каждый имеет право на свое мнение, и в этом нет ничего плохого ))

    • @b.g.5106
      @b.g.5106 3 ปีที่แล้ว

      @@lets_try_js 🙃

  • @ПрограммистБизнесменУченый
    @ПрограммистБизнесменУченый 2 หลายเดือนก่อน

    А как же задержка от апи???

  • @ВераСудницына-к8г
    @ВераСудницына-к8г ปีที่แล้ว

    Спасибо! Очень помогло!

  • @venplay1
    @venplay1 2 ปีที่แล้ว

    Отличное видео, спасибо!

  • @ragimabagirova6228
    @ragimabagirova6228 3 ปีที่แล้ว +2

    Спасибо большое)))

  • @antonkudrin7060
    @antonkudrin7060 3 ปีที่แล้ว +1

    Быстро и понятно спасибо )))

    • @lets_try_js
      @lets_try_js  3 ปีที่แล้ว

      Пожалуйста ))

  • @Almas-2002
    @Almas-2002 3 ปีที่แล้ว

    Спасибо

  • @aiylchiievjs6207
    @aiylchiievjs6207 2 ปีที่แล้ว +1

    спасибо большое