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

Поделиться
HTML-код
  • Опубликовано: 9 фев 2021
  • 🏆 Поднять мотивацию и получить плюшки(сборка, исходники, чат со мной):
    🔹 Patreon: / roman_timoshchuk
    🔹 Buy me a coffee: www.buymeacoffee.com/tymoshchuk
    🔹 Crypto:
    👉 USDT(ERC20): 0xA4008910De17DB20c7505425316fF72d4C5Eed96
    👉 USDT(BEP20): 0x4350c4E1C0bB35634C7fDE1cFB278BE0606E3822
    👉 Binance Pay: 432902886
    📨 Сотрудничество ► timoschuk.roman@gmail.com
    📨 Business inquiries ► timoschuk.roman@gmail.com

Комментарии • 130

  • @bublikbublikovich2229
    @bublikbublikovich2229 2 года назад +7

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

  • @nk_77777
    @nk_77777 Месяц назад

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

  • @smotritelyoutube
    @smotritelyoutube 2 года назад +4

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

  • @Sha-Kate
    @Sha-Kate 2 года назад +4

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

  • @alexandrzhuykov7355
    @alexandrzhuykov7355 2 года назад

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

  • @Zubairavvv
    @Zubairavvv 2 года назад +1

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

  • @user-rc3nq1qr3q
    @user-rc3nq1qr3q 2 года назад +5

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

  • @dimaruy2975
    @dimaruy2975 2 года назад +2

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

  • @evloev4821
    @evloev4821 2 года назад +6

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

    • @lets_try_js
      @lets_try_js  2 года назад +3

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

    • @user-ce9yr3my4g
      @user-ce9yr3my4g Год назад

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

    • @evloev4821
      @evloev4821 Год назад

      @@user-ce9yr3my4g ву

  • @olegpavlov4329
    @olegpavlov4329 2 года назад

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

  • @user-dt6kq6um1p
    @user-dt6kq6um1p 2 года назад +1

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

  • @zomtv5027
    @zomtv5027 2 года назад +4

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

  • @jamesdarrel4540
    @jamesdarrel4540 2 года назад

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

    • @lets_try_js
      @lets_try_js  2 года назад +1

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

  • @sirlion1549
    @sirlion1549 2 года назад +1

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

  • @user-sg7je5ji9e
    @user-sg7je5ji9e 2 года назад

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

  • @calebdume6930
    @calebdume6930 2 года назад

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

  • @venplay1
    @venplay1 2 года назад

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

  • @111max11
    @111max11 3 года назад +2

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

  • @NewDimix
    @NewDimix Год назад

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

  • @mszulya4100
    @mszulya4100 2 года назад +2

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

  • @user-vb7wy1sm3s
    @user-vb7wy1sm3s Год назад

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

  • @TRIZ-Bogatyregold
    @TRIZ-Bogatyregold Год назад

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

  • @iuliiaprusakova73
    @iuliiaprusakova73 2 года назад

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

  • @antonkudrin7060
    @antonkudrin7060 3 года назад +1

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

  • @user-kj6yy5wx3s
    @user-kj6yy5wx3s 9 месяцев назад

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

  • @ggaimer4244
    @ggaimer4244 5 месяцев назад

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

  • @ragimabagirova6228
    @ragimabagirova6228 2 года назад +2

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

  • @user-rk5cc8mr4l
    @user-rk5cc8mr4l 2 года назад +1

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

  • @tofidndndkkdkwkqe7017
    @tofidndndkkdkwkqe7017 3 месяца назад

    Спасибо, брат!

  • @bezbezov8867
    @bezbezov8867 2 года назад +1

    Молодец👍🏽

  • @ivantrofimov6966
    @ivantrofimov6966 2 года назад +1

    Лучший!

  • @arturazimov5662
    @arturazimov5662 2 года назад +1

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

  • @nikogen
    @nikogen Год назад

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

  • @user-rp8oy2kf5d
    @user-rp8oy2kf5d 2 года назад +3

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

  • @Sergei546
    @Sergei546 10 месяцев назад

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

  • @krypton5204
    @krypton5204 10 месяцев назад

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

  • @TraderOff-Road
    @TraderOff-Road 10 месяцев назад

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

  • @user-sm2fh6ms8o
    @user-sm2fh6ms8o 3 года назад

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

  • @SKAZKAPAGE
    @SKAZKAPAGE Год назад +1

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

  • @user-ju5sb3of7l
    @user-ju5sb3of7l 3 года назад

    Люблю)
    всё

  • @annasaenkova3121
    @annasaenkova3121 2 года назад

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

  • @aiylchiievjs6207
    @aiylchiievjs6207 2 года назад +1

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

  • @nurlanmehdiyev7428
    @nurlanmehdiyev7428 2 года назад

    Спасибо!

  • @user-vc6mo5nl8g
    @user-vc6mo5nl8g 2 года назад +1

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

  • @marcusaurelius7109
    @marcusaurelius7109 3 года назад

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

  • @user-yf5ip7td2y
    @user-yf5ip7td2y 3 года назад

    Спасибо

  • @ruslankashapov5443
    @ruslankashapov5443 Год назад

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

    • @lets_try_js
      @lets_try_js  Год назад +1

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

  • @whiteguards43
    @whiteguards43 2 года назад

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

  • @serjmarkelov9915
    @serjmarkelov9915 3 года назад +1

    Вау, спасибо

    • @lets_try_js
      @lets_try_js  3 года назад

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

  • @user-bv3sg3cj6r
    @user-bv3sg3cj6r 2 года назад

    спасибо

  • @MotivNationShorts_
    @MotivNationShorts_ 2 года назад

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

  • @user-ox5fy1ev5g
    @user-ox5fy1ev5g Месяц назад

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

  • @Victor-il9gm
    @Victor-il9gm 3 года назад

    спасибо!

  • @RikiTiki-dv8zx
    @RikiTiki-dv8zx Год назад

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

  • @knuckless__
    @knuckless__ Год назад

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

  • @dmitruz1900
    @dmitruz1900 2 года назад

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

  • @DV-vt5sg
    @DV-vt5sg 2 года назад +1

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

    • @lets_try_js
      @lets_try_js  2 года назад +1

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

    • @ulanbek-mn3er
      @ulanbek-mn3er Год назад +1

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

  • @emporteme
    @emporteme Год назад

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

  • @mikestr1782
    @mikestr1782 3 года назад

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

  • @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 с задержкой на пол сек

  • @manofsteppe179
    @manofsteppe179 2 года назад

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

    • @lets_try_js
      @lets_try_js  2 года назад +1

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

    • @manofsteppe179
      @manofsteppe179 2 года назад

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

    • @lets_try_js
      @lets_try_js  2 года назад +1

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

    • @manofsteppe179
      @manofsteppe179 2 года назад

      @@lets_try_js Спасибо!

  • @user-fx8ex2qj6z
    @user-fx8ex2qj6z Год назад

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

  • @user-je8tu5eg7d
    @user-je8tu5eg7d 2 года назад

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

    • @lets_try_js
      @lets_try_js  2 года назад

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

  • @user-tg3bj1vu9i
    @user-tg3bj1vu9i Год назад

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

    • @lets_try_js
      @lets_try_js  Год назад

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

  • @user-vg2fp8oi6x
    @user-vg2fp8oi6x 2 года назад

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

  • @user-xe2cq2dx3f
    @user-xe2cq2dx3f 2 года назад +1

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

    • @lets_try_js
      @lets_try_js  2 года назад

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

  • @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 ну сложно ответить, не видя весь код полностью )

  • @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 а как это как раз сделать?
      Я так понимаю,что надо динамически стили задавать ?

  • @elementalhero9939
    @elementalhero9939 11 месяцев назад

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

  • @emporteme
    @emporteme Год назад +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 🙃

  • @cao_dzecbi
    @cao_dzecbi 4 месяца назад

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