Zustand и React query. State management в React без боли

Поделиться
HTML-код
  • Опубликовано: 30 янв 2023
  • В этом ролике мы рассмотрим стейт менеджер в React Zustand, который активно набирает популярность.
    Мой курс "Продвинутый Frontend. В production на React" - ulbitv.ru/frontend
    Плейлист с роликами по архитектуре - • Архитектура ПО
    Поддержать меня и мой канал вы можете по ссылкам ниже.
    Patreon/boosty (доступ к бонусам) - boosty.to/ulbitv
    Qiwi кошелек - qiwi.com/n/BODYE821
    Яндекс деньги - yoomoney.ru/to/4100116193037469
  • НаукаНаука

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

  • @NikOroferov
    @NikOroferov Год назад +142

    Очень хотелось бы разбор React Query.

  • @SanyaSlyusarenko
    @SanyaSlyusarenko Год назад +137

    Есть ещё один замечательный подход к сторам во фронте - это Effector. Невероятно функциональный и декларативный. Контрибуторы - те же люди, кто делал Feature-Sliced-Design. Хочется увидеть обзор на Effector. Залайкайте коммент, чтобы Ульби увидел 😄👍

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

      Я FSD проникся и внедрил в проект. Просто пушка 🔥Не знал что эффектор их продукт. Обязательно теперь чекну и попробую. Спасибо за мысль)

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

      плюс! использую еффектор на постоянной основе уже давно - он классный

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

      @@enslit FSD частично нарушает философию модульной архитектуры, когда из любой точки приложения ты достаешь компонент или хук из /user/hook/...

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

      ​@@user-kh7rf2yf2d не знаю о "модульной философии" =) Методология FSD говорит нам о том, что нефиг что попало, импортить куда попало.
      Взять к примеру хук о котором ты пишешь - useHook (или что угодно из директории /user/hook).При правильном использовании FSD мы не сможем зависеть от этого хука в компонентах shared слоя и это отлично! так и должно быть. В остальном, кладешь этот хук, предполагаю в entities/user/ и юзай себе спокойно как ты говоришь из любой точки

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

      @@user-kh7rf2yf2d Это где ж в FSD такая схема? /shared/hooks/ - это да. Никаких /user/hook быть не может. И в шаред лежат только компоненты, не несущие бизнес-логики: кнопки, дропдауны, все вот это...

  • @natalyamurashko125
    @natalyamurashko125 Год назад +65

    Цуштанд - с немецкого "состояние" или State 😀
    Спасибо за видео! Отличная подача информации, и даже не играет роли произношение слов на разных языках. Главное - это знания, которыми Вы с нами делитесь 🎉

    • @gagogoga794
      @gagogoga794 Год назад +4

      Застанд 😂
      Коллегам немцам показал, очень смеялись 😂

    • @savin55589
      @savin55589 Год назад +3

      Z нацисти😅

    • @vov4egde
      @vov4egde Год назад +6

      Очень странно, что на том же гитхабе нет транслитерации. Что-то вроде
      Zustand [ˈtsuːʃtant] - a german word for "state"
      А вообще, кончено забавно как это произносят остальные блогеры. "Застанд" и "зЮстЭнд" пока мои самые любимые )))
      На самом деле ухо режет ппц, так как живу в Германии и с коллегами разговариваю на немецком...

    • @0xffsu
      @0xffsu 8 месяцев назад

      Только без т на конце, просто Цуштанд :)

    • @khanina2011
      @khanina2011 7 месяцев назад

      Я тоже так и прочитала😂когда знаешь немецкий, читать английский становится сложнее 😂

  • @NoName-oh9fh
    @NoName-oh9fh Год назад +172

    Насчёт React-Query, было бы хорошо если ты расскажешь в каких случаях стоит его использовать с стором, потому что в основном, если не всегда на мой взгляд react-query полностью убивает всякие сторы, потому что там можно хранить данные в кеше вечно и полностью сторы теряют смысл работы с сервером. + Так же react-query умеет работать с persist.

    • @grenadier4702
      @grenadier4702 Год назад +13

      А прикол в том, что стор кроме как хранения юзера и каких-нибудь вещей для отрисовки сложного ui не нужен. все решается с помощью react-query + конекст с локальным состоянием для каждой страницы

    • @alexey5097
      @alexey5097 Год назад +7

      Хранить в кэше на фронте можно очень ограниченное количество информации, которое долго остается актульным типа данные юзера или данные о событиях, которые не могут измениться. В высоконагруженных системах возлагать контроль за актуальностью кэша на фронт будет глупо с точки зрения перфоманса и этим чаще всего занимается бэкенд(есть специальные алгоритмы поддержания кэша). Мы использовали персист на фронте для хранения токенов и каких-то ключей, уже и не вспомню

    • @doichev-kostia
      @doichev-kostia Год назад +5

      React query - server state (данные), zustand/jotai/valtio - client state

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

      @@doichev-kostia большинство клиентских Стейт менеджеров предоставляют работу с асинхронными данными, но если выбирать между клиентским стейтом и react-query, то логичнее использовать react-query.
      А для клиентских данных ну тут на самом деле можно использовать обычный контекст. Зачем я буду в проект заносить лишний "вес" ради того чтобы хранить какая цветовая тема сайта стоит у пользователя? Тем более если брать пример все же с получением данных, то после обновления страницы все слетит.
      Насчёт комментария выше соглашусь, то что для большого проекта вместо клиентского Кеша можно вынести на сервер, но опять же тут клиентский стор и не нужен, если так же будем использовать react-query. Мы просто отключим кеширование.

    • @doichev-kostia
      @doichev-kostia Год назад

      @@daddyj2049 да, соглашусь, но, если честно, контекст не очень хорош, потому что после любого изменения стейта, он полностью перерендеривает всех children, что не очень прикольно.
      В наших SPA для любых данных с API, мы используем react-query, но иногда есть куски, где стейт нужно чисто клиентский и, честно говоря, я бы предпочёл zustand или jotai вместо react context

  • @user-fk8fm2iv6n
    @user-fk8fm2iv6n Год назад +15

    раскидал за 10 минут! Просто и понятно! Огромное спасибо за твои старания! Ждём такой же ролик по effector)

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

    спасибо, Тимур! Как всегда всё кратко, понятно. Лучший)

  • @proofit404
    @proofit404 Год назад +16

    Ждём про React Query, спасибо за титанические труды!

  • @xahabcemy1136
    @xahabcemy1136 Год назад +9

    Просто для информации: это немецкое слово и читается как цуштанд👍 . Видео огонь как всегда! Спасибо 🙏🏻

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

    Отличный ролик, краткий, лаконичный, по существу
    Так держать

  • @leonidindivid
    @leonidindivid Год назад +4

    Видео как всегда очень приятное! Да, видео по React Query было бы здорово посмотреть, спасибо

  • @Sogeking228
    @Sogeking228 Год назад +30

    Привет. Про React query, обязательно стоит сделать ролик я считаю. О том как работать с ним в ssr вместе с каким нибудь СТМ с fsd архитектурой.

  • @almost-wizard
    @almost-wizard Год назад +5

    Ждем React Query!

  • @_GyG_
    @_GyG_ Год назад +3

    Спасибо за классный обзор. Хотим еще по React-Query)

  • @shittywizzard5727
    @shittywizzard5727 Год назад +3

    Никогда не поленюсь написать "Красава, хорош, так держать, давай еще" если я досмотрел видео до конца :)

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

    спасибо за видос. очень нравится твоя форма изложения материала. всё по делу, в хорошем темпе и все понятноё. Жду продолжения видосов про архитектуру

  • @natalyaiv3414
    @natalyaiv3414 Год назад +2

    Спасибо, Тимур👍
    Про Реакт интересно)

  • @Tanatos654
    @Tanatos654 Год назад +2

    Интересно было послушать про Zustand, хочется попробовать в деле)
    Про react-query обязательно нужен ролик!

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

    спасибо! Стало сразу понятно, что это, и какие есть преимущества

  • @gentleman94
    @gentleman94 Год назад +3

    Спасибо огромное за ролик, подача как всегда на высоте!
    React Query тоже очень хотелось бы)

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

    Спасибо за видео! Интересный формат, продолжай.

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

    Поддерживаю, очень интересно будет послушать про React-query 🔥🔥🔥

  • @user-tn1sj9zn9q
    @user-tn1sj9zn9q Год назад +4

    Ждём React Query, да и много ещё чего ждём. Спасибо за шикарные видео)

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

    Спасибо очень информативно! Очень сильно ощутил разницу между redux и zustand

  • @user-sn4ki6vg4b
    @user-sn4ki6vg4b Год назад +1

    Интересно было послушать, спасибо. Попробую внедрить к себе в проект

  • @KingSpeed74
    @KingSpeed74 7 месяцев назад

    Спасибо за видео! Подробный разбор react-query очень нужен!)

  • @user-mv8bu5jy2n
    @user-mv8bu5jy2n Год назад +2

    Это знак свыше!=) Только сегодня утром искал и просматривал материалы по Zustand!=)))Спасибо за работу!

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

      ваша мольба услышана)

    • @xDiezz
      @xDiezz Год назад +2

      зачем все эти кривые костыли и бойлерплейты когда есть мобкс, где все работает автоматом

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

    Как всегда топ контент !

  • @user-gg7cg7gz9o
    @user-gg7cg7gz9o 7 дней назад

    уже 300 к бор у тебя !) поздравляю Тимур !!!!! ты заслужил !!!

  • @ivanmiarkulau8320
    @ivanmiarkulau8320 Год назад +11

    Не очень понятно из видео как работать с версионированием персиста, но это уже в документации почитаю, спасибо за ролик!) Хотелось бы увидеть видео про React Query)

  • @Dmitriy_c-137
    @Dmitriy_c-137 Год назад +2

    Коммент в поддержку !

  • @thetraveler7779
    @thetraveler7779 Год назад +2

    Лучшее - однозначно 👍

  • @STELLS541
    @STELLS541 10 месяцев назад +1

    Ждемс реакт-квери, всякие приколы в нем и хорошие паттерны написание запросов.

  • @user-bt4lz4kv7k
    @user-bt4lz4kv7k Год назад +2

    Как всегда все круто! React Query очень хочется

  • @user-yj8tf7xb6g
    @user-yj8tf7xb6g 10 месяцев назад

    Как хорошо, что есть Ваш канал!
    Zustand react

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

    RtQ очень нужен видос, спасибо!

  • @Nuts_Cracker
    @Nuts_Cracker Год назад +2

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

    • @quazacotl
      @quazacotl Год назад +2

      Давай мясо! В смысле, react-query. За видео плюс)

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

    Интересно, смотрим!💥

  • @theoty-js-react
    @theoty-js-react Год назад +2

    Тимур - лучший педагог!

  • @evilinarm
    @evilinarm Год назад +2

    Спасибо за крутое видео!

  • @yaroslavqwerty8609
    @yaroslavqwerty8609 Год назад +2

    React query теперь ждём ролик

  • @Husan203
    @Husan203 Год назад +4

    Классный разбор Zustand. Также хотелось бы разбор и про react-query!

  • @VaultBoyVaultBoy
    @VaultBoyVaultBoy Год назад +2

    Спасибо за ролик)

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

    как всегда супер

  • @user-yn5sq1fd5e
    @user-yn5sq1fd5e Год назад +1

    Спасибо большое за твое хорошее дело

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

    Спасибо большое за обзор! Было бы замечательно посмотреть твой обзор React Query!)

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

    коммент в поддержку канала Тимура и выпуска видео по React Query😊

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

    Ждем все , что сейчас актуально

  • @user-fj1vx9jv5b
    @user-fj1vx9jv5b Год назад +2

    recoil здорового человека

  • @pochta1000
    @pochta1000 Год назад +4

    Цу-Штанд (нем. Состояние / англ. state)

  • @erassylzh5658
    @erassylzh5658 Год назад +22

    Ждем видео про React Query. И не плохо было бы уже заменить create-react-app на Vite.

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

    Отличное видео. И + за видео про React Query

  • @ArtikMan1994
    @ArtikMan1994 Год назад +7

    Отличное видео. Как всегда, никакой воды. Спасибо, что уважаешь наше время.
    Да, очень хотелось бы посмотреть видео об Реакт Квери т.к. хочу его выучить. Не писал на нем, но точно знаю, что на данный момент это best practice, и нужно идти в ногу со временем, не отставать от рынка. Не зря в редакс-тулкит запихнули тот же РТК

  • @kostia-stoliarskyi
    @kostia-stoliarskyi Год назад +2

    по квери тоже надо видео!) спасибо за видос)

  • @user-xi3ly4vu4m
    @user-xi3ly4vu4m Год назад +4

    Захотелось написать Тимуру хороший комментарий, оставлю здесь, тк моя мини-стори завязана на этом ролике. Я пришел на замену человечку в проект, написанный наскоро на Svelte. Чинил оставленные баги, старался улучшить архитектуру в меру своих знаний. И так получилось, что один из багов представлял из себя ререндендеринг и рерутинг на главную страничку при любом изменении данных в сторе, даже если измененные данные не имели отношение к отображаемой сейчас страничке и никак не затрагивались. Почему так происходило я вообще не понимал и помочь мне особо никто не мог. В один из дней я пересматривал этот ролик и как раз обратил внимание про оговорку Тимура, что изменение формально не связанных данных в сторе с текущим компонентом все равно триггерит ререндеринг этого компонента. Проверил тестово на сторах Свелта и тоже увидел такое же поведение. Так что только благодаря Тимуру я смог осознать в чем состоит проблема и стал разгребать этого рейд босса) Спасибо большое

  • @denys7567
    @denys7567 Год назад +2

    Спасибо за ролик. Пока выглядит как нативный React context только в профиль

  • @ipa_stor
    @ipa_stor Год назад +12

    Ролик прямо как в старые-добрые:))) давно не видел те ламповые видео, с разбором какой-то локальной темы🤗 Zustand последние пол года постоянно маячит перед носом, но руки пока не дошли... Вроде крайне дружелюбный, как мишка на лого🤣

    • @dontcode
      @dontcode Год назад +2

      Последнее время действительно от фронта больше к общим темам ушли, но мне это наоборот нравится

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

      @@dontcodeэто неплохо, но изредка вот такие ролики тоже очень приятно глянуть 👍👍👍

    • @dontcode
      @dontcode Год назад +2

      @@ipa_stor согласен

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

    Спасибо за видос

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

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

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

    Спасибо за краткий обзор.

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

    Класс 👍 спасибо

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

    Выглядит весьма!

  • @user-lj8xm1ye7q
    @user-lj8xm1ye7q Год назад +1

    👍 Жду гайд по React-Query

  • @AlexandruBejenari
    @AlexandruBejenari Год назад +4

    +++ React Query!!!!

  • @kegorfx
    @kegorfx Год назад +9

    Чтобы в девтулс отображались не анонимные экшены, в сторе при set в опциях можно передать строкой название какое хотите. Тогда в редакс девтулс наглядно всё видно

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

    Всё понятно и круто, спасибо! теперь ожидаем на очереди react query)

  • @sergeysamius1128
    @sergeysamius1128 Год назад +2

    Спасибо!

  • @donottrackmepls
    @donottrackmepls Год назад +3

    Чотенько, хотелось бы еще реакт квери! Спасибо, Тимуp :)

  • @nadjaparzer976
    @nadjaparzer976 Год назад +7

    Цуштанд, это немецкий, переводится как состояние

  • @wat4mon
    @wat4mon Год назад +5

    круто, что обозреваешь такие технологии, которые только на этапе зарождения

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

      его уже используют в проде

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

      это не про zustand, он уже довольно популярный

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

      это редакс вид сбоку, чтоб было немного меньше боли, пока не открыли для себя мобкс, где ее вообще нет

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

      Боли нет пока не пришлось дебажить)

  • @user-og1us9hb3c
    @user-og1us9hb3c 5 месяцев назад +1

    было бы интересно также как использовать react query и zustand вместе. спасибо за ролик!

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

    Хочется ролик про ReactQuery! Спасибо за твои видео

  • @user-ue8bh7tj5k
    @user-ue8bh7tj5k Год назад +7

    Спасибо за контент! Кто знает, может когда-нибудь дойдём и до valtio.
    Забавный факт, у Valtio, Zustand и Jotai один автор

  • @bernizhel
    @bernizhel Год назад +3

    Хотелось бы понять, как работать с react-query, спасибо за разбор zustand!

  • @-anonim-3008
    @-anonim-3008 Год назад

    Спасибо огромное!!! Я почему-то как один раз про mobx посмотрел видео, привык к нему, даже не смотрел на актуальность его и тем более весь, 50 кб.... Сейчас redux чутка подучу и потом на zustund можно спокойно будет переходить

  • @romanroman5820
    @romanroman5820 Год назад +2

    Спасибо за видео!
    Нужен обзор на react query)

  • @thehuman9604
    @thehuman9604 7 месяцев назад

    Цуштанд -- тема классная. Уже используем в проде.

  • @anatoliiilescu839
    @anatoliiilescu839 Год назад +2

    Посмотрим!

  • @bambalbino
    @bambalbino Год назад +2

    Спасибо большое за обзор. Как всегда кратко и содержательно. Хороший стейт менеджер, но если брать мульттстор, то ИМХО эффектор вне конкуренции.

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

    Super tutorial thanks.

  • @user-uj5mm7yj1o
    @user-uj5mm7yj1o Год назад +1

    оч круто!

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

    React Query - ждемс!

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

    Видосу лайк, и ждём видео react-query ts возможно + Next ssr

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

    react-query обязательно обзор нужен. Причем полный и всеохватывающий. Либа очень полезная, но довольно объемная по документации. Хотчелось бы структуризированную инфу. Спасибо!

  • @user-sj4uc2uu2z
    @user-sj4uc2uu2z Год назад +1

    Спасибо за видео, как всегда огонь! По поводу state мэнеджеров, не совсем понятно когда нужно использовать RTK, когда обычные редюсеры и extraReducers, такое видео было бы очень полезно)

  • @user-tr8gr6bl2u
    @user-tr8gr6bl2u Год назад +2

    Да, очень хорошая идея, сделать обзор React-Query

  • @typingaway
    @typingaway Год назад +2

    React Query для работы с "серверным" стейтом приложения (server state data management), Zustand - для работы с клиентским стейтом. Если клиентское приложение тонкое (минимум бизнес логики, все данные в нужном формате возвращаются с бекенда), то возможно Zustand и другие стейт менеджеры вообще будут не нужны, но если толстое, то удобно с данными работать как раз таки через Zustand

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

    Круто!

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

    спасибо!❤

  • @17u5h
    @17u5h Год назад +2

    класс, хочу!

  • @GNU_Pinus
    @GNU_Pinus Год назад +3

    Очень похоже на Pinia из Vue

  • @CQRay
    @CQRay Год назад +2

    Хорош!
    У нас в компании это основной стейт менеджер, активно использую и в собственных проектах
    Для запросов у нас самописные слайсы с реакциями
    Жду видео о React Query

  • @vtsel-lp4jv
    @vtsel-lp4jv Год назад

    Да, будет круто про реакт квери)

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

    Спасибо. Хотелось бы увидеть именно связку с React Query, как и было заявлено в названии ролика.

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

      Кликбейтить начал чувак, сообщество не одобряет

  • @user-ow2hr5xk8t
    @user-ow2hr5xk8t 5 месяцев назад

    Уби, спасибо) Непонятно, как ты успеваешь по таймингам в жизни)

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

    Добрый день. Жду обзор за BlitzJS. Использую и очень радуюсь. Жизнь стала проще.

  • @zoombix5753
    @zoombix5753 Год назад +3

    Прикольный стейт, но все равно предпочитаю MobX за его простоту и удобность)

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

    Спасибо за обзор. Интересный стейт менеджер, редух уже изжил себя, а скачиваний много из-за пиара и того, что его по началу засовывали во все проекты... а сейчас мучаются))

  • @Oleg_Artemov
    @Oleg_Artemov Год назад +2

    ждём React Query !

  • @669pain
    @669pain Год назад +2

    Даешь React Query!

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

    круто!