Подробно изучаем Zustand State Management (React, TypeScript)

  Рет қаралды 16,349

Елена Литвинова — Искусство Веб-разработки 🛸

Елена Литвинова — Искусство Веб-разработки 🛸

Күн бұрын

Пікірлер: 40
@dima__rx5fw3rm1n
@dima__rx5fw3rm1n 9 ай бұрын
А можно ли создать декоратор @Request, который в create на конкретные методы будет автоматически добавлять параметры к запросам? И оформить это как декоратор, или мидлвару
@ЭльнараГайнанова-ф3к
@ЭльнараГайнанова-ф3к Жыл бұрын
Очень-очень нравятся Ваши уроки, очень рада, что нашла канал ❤
@andreyivanov9037
@andreyivanov9037 Жыл бұрын
Елена спасибо большое за твои видео. всегда приятно тебя послушать!) Желаю тебе сил продолжать этим заниматься!)
@webelart
@webelart Жыл бұрын
Спасибо!
@UlanovS
@UlanovS 2 жыл бұрын
Огромное спасибо, Елена! Как раз собирался искать материалы на тему устройства "сторов" и по приёмам их использования. Именно такой полноты подачи информации мне и хотелось! Слушал ролик в парке, ещё придётся пересмотреть его за компьютером, но я получил огромное удовольствие от прогулки и большую помощь))
@webelart
@webelart 2 жыл бұрын
Круто, круто! :))
@STELLS541
@STELLS541 Жыл бұрын
Случайно набрел на канал, начал смотреть и пока интересно, лайк уже влепил 💪🏻🙏🏻.
@Ramosok
@Ramosok 2 жыл бұрын
Спасибо за разнообразный контент.
@Владимир.П-е9о
@Владимир.П-е9о 2 жыл бұрын
Классное видео! Даже если никогда не придется использовать этот стейт-менеджер, всегда полезно узнать, а как же там за пределами редакса и mobx работают стейт-менеджеры.
@alenache1
@alenache1 2 жыл бұрын
качество контента - топ)
@knowledgedose1956
@knowledgedose1956 2 жыл бұрын
согласен! и теория и практика в одном видео
@larisaplatova1644
@larisaplatova1644 5 ай бұрын
Спасибо за информацию
@denisgoncearuc7167
@denisgoncearuc7167 2 жыл бұрын
Zustand - большой топчик! Мы тоже его используем в продакшне
@dima__rx5fw3rm1n
@dima__rx5fw3rm1n 9 ай бұрын
37:49 как же классно, что с такой подпиской извне нам не нужны провайдеры... И так в мэйне десяток провайдеров) и каждому свой обьект. И каждый хочет перерисовать всех чилдренов... А как удобно: есть сторы и используйте их где хотите, как хотите. В противовес бойлерплейтам на бойлерплейтах редакса. И чтобы в провайдере. А если у нас микрофронтенды, то мы получаем каждой кнопке по провайдеру? 😅🤦🏻‍♂️
@АлдиярМарат-р7э
@АлдиярМарат-р7э Жыл бұрын
ты лучшая
@AlexGabber
@AlexGabber 9 ай бұрын
Спасибо, было полезно! Но за год Zustand еще несколько тысяч раз обновился и уже createStore функция не работает в текущем виде) Конкретно ему не нравится дженерик в UseBoundStore, в результате все отваливается. К тому же set({ name: __name }, false, 'setUser') ругается на третий аргумент. Нашел решение во втором аргументе девтулза указывать enabled: isDev ? false : true и это убирает слайс из тевтулза. Но меня немного это смущает, по хорошему при билде девтулз нужно вырезать или в принципе enabled отличное решение в плане цены и анонимности? Не наделает дырок в безопасности? Ну бандл наверное увеличит на пару кб, что не страшно
@webelart
@webelart 9 ай бұрын
Да, там много что обновилось. Про вопросы, нужно проверять. Я помню пробовала обновить на новую версию и вроде ошибок не было, но вся система не завелась. В команде не было ресурсов на обновление более, поэтому я переключилась на другие задачи. Про безопасность. Каким образом, думаете может навредить? Мне кажется, что все что на фронте уже в зоне риска и не важно какой Стейт менеджер использовать... Важно все важные переменный и функционал выносить на сервер и не светить в стейте в том числе. Хотя иногда какой-нибудь auth-token сохраняют, но тоже по разному можно. Думаю это тоже не про Стейт.
@AlexGabber
@AlexGabber 9 ай бұрын
@@webelart спасибо, разобрался в вопросе полноценно. Нашел решение : const isDevMode = process.env.NODE_ENV === 'development' export const createState = ( name: string, fn: StateCreator, ) => ( isDevMode ? create(devtools(fn, { name, anonymousActionType: `${name}/action` })) : create(fn)) - мало ли кому-то пригодится на вашем канале)
@НікітаКорчемний-г4ч
@НікітаКорчемний-г4ч 9 ай бұрын
@@AlexGabber сейчас собирался смотреть, так что пригодиться )
@ИгорьХромов-ь1е
@ИгорьХромов-ь1е 2 жыл бұрын
Елена, спасибо за контент! Интересный и простенький state manager. Concat на массиве объектов тоже своего рода мутация, так как копирование элементов производится по ссылкам. Когда вы делали unshift вы мутировали текущее состояние и если в devtools Zustand есть механизм таймлайн и можно прыгать по прошлым состояниям, то скорее всего вы увидите как дублируются состояния на разных отметках времени.
@webelart
@webelart 2 жыл бұрын
Concat возвращает новый массив. Unshift да мутирует. Вот мы так на работе делаем, представляете! Безобразие да и только :)))) Вообще спасибо за комментарий! Учимся дальше! ❤️🌹😎
@ИгорьХромов-ь1е
@ИгорьХромов-ь1е 2 жыл бұрын
@@webelart да, новый массив, но конкат не копирует объекты, а ссылается на теже объекты в памяти. Мутация над таким объектом, отразится на всём таймлайне, где он существовал.
@webelart
@webelart 2 жыл бұрын
@@ИгорьХромов-ь1е да я понимаю о чем вы. Здесь только глубокая копия. 🫠
@dima__rx5fw3rm1n
@dima__rx5fw3rm1n 9 ай бұрын
@@webelartа глубокая копия - либо рекурсией создавать сущность, либо json.stringify? Я последнее во vuex юзал еще для второго вью) А фиг знает, все либы поверхностно копируют. От лодаша до андерскора. Потому, разве что так и переводить сначала в строку, а потом из строки в обьект. Либо обход дерева 🤷‍♂️ ну просто все поля переносить в новый объект
@АлександрМелянюк-ц9ю
@АлександрМелянюк-ц9ю 2 жыл бұрын
Спасибо!)
@yushato
@yushato 2 жыл бұрын
Ура-ура, наша Елена Премудрая (по совместительству Прекрасная) запилила новый гайд)) Елена, а создайте пожалуйста урок с мини-приложением полного цикла (верстка + state + запросы апи + тестирование, хотя бы минимальное через Jest). Часто от новичков требуют знания везде, но понемногу. Хотелось бы такой небольшой проект написать, где все сразу.
@webelart
@webelart 2 жыл бұрын
Постепенно буду добавлять. ❤️
@dima__rx5fw3rm1n
@dima__rx5fw3rm1n 9 ай бұрын
Тут в комментах говорят про машину времени за счёт копии стейта. А реально, когда-то нужно? Не вспомнил ни одного реального кейса, где эта машина времени что-то серьезное дает.
@bohdanshkaran2606
@bohdanshkaran2606 2 жыл бұрын
25:48 Обновленная документация говорит, что стейт не должен быть мутирован.
@bobyrevvladislav
@bobyrevvladislav 8 ай бұрын
Что за нейронка делает превьюхи или ты сама? Классно получается ❤
@webelart
@webelart 8 ай бұрын
Нет, я не сама рисую. Обложки заказываю :) Да их делают очень круто.
@ruslankarimov6490
@ruslankarimov6490 Жыл бұрын
35:00 не реактивный доступ к стору
@Dmitrijserg
@Dmitrijserg Жыл бұрын
Альтернатива Редаксу? Надо посмотреть.
@webelart
@webelart Жыл бұрын
Да, есть свои плюсы и минусы. На holyjs также читала мастер класс, если вдруг вам интересно. Там много вопросов и сравнений было с разными фреймворками. Ещё рекомендую посмотреть на reatom, создатель которого Артем Арутюнян.
@aleksejmaleksei
@aleksejmaleksei Жыл бұрын
1. Мутабельность поддерживается 2 FC пишется если у компоненты есть чилдрены, можете ознакомится
@kawaikaino5277
@kawaikaino5277 2 жыл бұрын
нужно срочно видео, ломки...
@andTutin
@andTutin 2 жыл бұрын
mobx топчик
@webelart
@webelart 2 жыл бұрын
Mobx не юзала, но друзья кто используют, тоже хвалят 👍🏻
@doslass
@doslass 2 жыл бұрын
main.tsx, 8я строка как называется оператор '!' ? Нигде не могу найти почитать
Разбираем Event loop на примерах | микро, макро таски, nextTick, setImmediate | Уроки JavaScript
55:48
Елена Литвинова — Искусство Веб-разработки 🛸
Рет қаралды 24 М.
Знакомство с Zustand - лучшей заменой Redux
29:35
Михаил Непомнящий
Рет қаралды 34 М.
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 55 МЛН
Мясо вегана? 🧐 @Whatthefshow
01:01
История одного вокалиста
Рет қаралды 7 МЛН
Why I Moved from React Redux to Zustand and Why You Should Too!
19:24
Разбор Tanstack Router - убийца React Router
28:08
PurpleSchool | Anton Larichev
Рет қаралды 10 М.
Разрабатываем ToDo лист на React + TypeScript + Zustand со сборкой на ViteJS | Уроки JavaScript
1:50:13
Елена Литвинова — Искусство Веб-разработки 🛸
Рет қаралды 67 М.
Mastering Typescript State using Zustand
13:31
Jack Herrington
Рет қаралды 45 М.
Zustand - Complete Tutorial
19:27
Cosden Solutions
Рет қаралды 114 М.
TypeScript с 0 до Профи. Полный курс + Практика [2023]
1:26:26
Reactify | Frontend Разработка
Рет қаралды 60 М.