Огромное спасибо, Елена! Как раз собирался искать материалы на тему устройства "сторов" и по приёмам их использования. Именно такой полноты подачи информации мне и хотелось! Слушал ролик в парке, ещё придётся пересмотреть его за компьютером, но я получил огромное удовольствие от прогулки и большую помощь))
Классное видео! Даже если никогда не придется использовать этот стейт-менеджер, всегда полезно узнать, а как же там за пределами редакса и mobx работают стейт-менеджеры.
А можно ли создать декоратор @Request, который в create на конкретные методы будет автоматически добавлять параметры к запросам? И оформить это как декоратор, или мидлвару
37:49 как же классно, что с такой подпиской извне нам не нужны провайдеры... И так в мэйне десяток провайдеров) и каждому свой обьект. И каждый хочет перерисовать всех чилдренов... А как удобно: есть сторы и используйте их где хотите, как хотите. В противовес бойлерплейтам на бойлерплейтах редакса. И чтобы в провайдере. А если у нас микрофронтенды, то мы получаем каждой кнопке по провайдеру? 😅🤦🏻♂️
Тут в комментах говорят про машину времени за счёт копии стейта. А реально, когда-то нужно? Не вспомнил ни одного реального кейса, где эта машина времени что-то серьезное дает.
Ура-ура, наша Елена Премудрая (по совместительству Прекрасная) запилила новый гайд)) Елена, а создайте пожалуйста урок с мини-приложением полного цикла (верстка + state + запросы апи + тестирование, хотя бы минимальное через Jest). Часто от новичков требуют знания везде, но понемногу. Хотелось бы такой небольшой проект написать, где все сразу.
Елена, спасибо за контент! Интересный и простенький state manager. Concat на массиве объектов тоже своего рода мутация, так как копирование элементов производится по ссылкам. Когда вы делали unshift вы мутировали текущее состояние и если в devtools Zustand есть механизм таймлайн и можно прыгать по прошлым состояниям, то скорее всего вы увидите как дублируются состояния на разных отметках времени.
Concat возвращает новый массив. Unshift да мутирует. Вот мы так на работе делаем, представляете! Безобразие да и только :)))) Вообще спасибо за комментарий! Учимся дальше! ❤️🌹😎
@@webelart да, новый массив, но конкат не копирует объекты, а ссылается на теже объекты в памяти. Мутация над таким объектом, отразится на всём таймлайне, где он существовал.
@@webelartа глубокая копия - либо рекурсией создавать сущность, либо json.stringify? Я последнее во vuex юзал еще для второго вью) А фиг знает, все либы поверхностно копируют. От лодаша до андерскора. Потому, разве что так и переводить сначала в строку, а потом из строки в обьект. Либо обход дерева 🤷♂️ ну просто все поля переносить в новый объект
Спасибо, было полезно! Но за год Zustand еще несколько тысяч раз обновился и уже createStore функция не работает в текущем виде) Конкретно ему не нравится дженерик в UseBoundStore, в результате все отваливается. К тому же set({ name: __name }, false, 'setUser') ругается на третий аргумент. Нашел решение во втором аргументе девтулза указывать enabled: isDev ? false : true и это убирает слайс из тевтулза. Но меня немного это смущает, по хорошему при билде девтулз нужно вырезать или в принципе enabled отличное решение в плане цены и анонимности? Не наделает дырок в безопасности? Ну бандл наверное увеличит на пару кб, что не страшно
Да, там много что обновилось. Про вопросы, нужно проверять. Я помню пробовала обновить на новую версию и вроде ошибок не было, но вся система не завелась. В команде не было ресурсов на обновление более, поэтому я переключилась на другие задачи. Про безопасность. Каким образом, думаете может навредить? Мне кажется, что все что на фронте уже в зоне риска и не важно какой Стейт менеджер использовать... Важно все важные переменный и функционал выносить на сервер и не светить в стейте в том числе. Хотя иногда какой-нибудь auth-token сохраняют, но тоже по разному можно. Думаю это тоже не про Стейт.
Да, есть свои плюсы и минусы. На holyjs также читала мастер класс, если вдруг вам интересно. Там много вопросов и сравнений было с разными фреймворками. Ещё рекомендую посмотреть на reatom, создатель которого Артем Арутюнян.
Перешёл целиком на zustand. Задолбал rtk своим boilerplate.
Спасибо Елена, узнал о нем от Вас
Очень-очень нравятся Ваши уроки, очень рада, что нашла канал ❤
Огромное спасибо, Елена! Как раз собирался искать материалы на тему устройства "сторов" и по приёмам их использования. Именно такой полноты подачи информации мне и хотелось! Слушал ролик в парке, ещё придётся пересмотреть его за компьютером, но я получил огромное удовольствие от прогулки и большую помощь))
Круто, круто! :))
Елена спасибо большое за твои видео. всегда приятно тебя послушать!) Желаю тебе сил продолжать этим заниматься!)
Спасибо!
Случайно набрел на канал, начал смотреть и пока интересно, лайк уже влепил 💪🏻🙏🏻.
Классное видео! Даже если никогда не придется использовать этот стейт-менеджер, всегда полезно узнать, а как же там за пределами редакса и mobx работают стейт-менеджеры.
Спасибо за информацию
качество контента - топ)
согласен! и теория и практика в одном видео
А можно ли создать декоратор @Request, который в create на конкретные методы будет автоматически добавлять параметры к запросам?
И оформить это как декоратор, или мидлвару
Спасибо за разнообразный контент.
Zustand - большой топчик! Мы тоже его используем в продакшне
37:49 как же классно, что с такой подпиской извне нам не нужны провайдеры... И так в мэйне десяток провайдеров) и каждому свой обьект. И каждый хочет перерисовать всех чилдренов...
А как удобно: есть сторы и используйте их где хотите, как хотите. В противовес бойлерплейтам на бойлерплейтах редакса. И чтобы в провайдере.
А если у нас микрофронтенды, то мы получаем каждой кнопке по провайдеру? 😅🤦🏻♂️
Тут в комментах говорят про машину времени за счёт копии стейта. А реально, когда-то нужно? Не вспомнил ни одного реального кейса, где эта машина времени что-то серьезное дает.
Ура-ура, наша Елена Премудрая (по совместительству Прекрасная) запилила новый гайд))
Елена, а создайте пожалуйста урок с мини-приложением полного цикла (верстка + state + запросы апи + тестирование, хотя бы минимальное через Jest). Часто от новичков требуют знания везде, но понемногу. Хотелось бы такой небольшой проект написать, где все сразу.
Постепенно буду добавлять. ❤️
Елена, спасибо за контент!
Интересный и простенький state manager. Concat на массиве объектов тоже своего рода мутация, так как копирование элементов производится по ссылкам.
Когда вы делали unshift вы мутировали текущее состояние и если в devtools Zustand есть механизм таймлайн и можно прыгать по прошлым состояниям, то скорее всего вы увидите как дублируются состояния на разных отметках времени.
Concat возвращает новый массив. Unshift да мутирует. Вот мы так на работе делаем, представляете! Безобразие да и только :))))
Вообще спасибо за комментарий! Учимся дальше! ❤️🌹😎
@@webelart да, новый массив, но конкат не копирует объекты, а ссылается на теже объекты в памяти. Мутация над таким объектом, отразится на всём таймлайне, где он существовал.
@@ИгорьХромов-ь1е да я понимаю о чем вы. Здесь только глубокая копия. 🫠
@@webelartа глубокая копия - либо рекурсией создавать сущность, либо json.stringify? Я последнее во vuex юзал еще для второго вью)
А фиг знает, все либы поверхностно копируют. От лодаша до андерскора. Потому, разве что так и переводить сначала в строку, а потом из строки в обьект.
Либо обход дерева 🤷♂️ ну просто все поля переносить в новый объект
ты лучшая
Спасибо!)
Спасибо, было полезно! Но за год Zustand еще несколько тысяч раз обновился и уже createStore функция не работает в текущем виде) Конкретно ему не нравится дженерик в UseBoundStore, в результате все отваливается. К тому же set({ name: __name }, false, 'setUser') ругается на третий аргумент. Нашел решение во втором аргументе девтулза указывать enabled: isDev ? false : true и это убирает слайс из тевтулза. Но меня немного это смущает, по хорошему при билде девтулз нужно вырезать или в принципе enabled отличное решение в плане цены и анонимности? Не наделает дырок в безопасности? Ну бандл наверное увеличит на пару кб, что не страшно
Да, там много что обновилось. Про вопросы, нужно проверять. Я помню пробовала обновить на новую версию и вроде ошибок не было, но вся система не завелась. В команде не было ресурсов на обновление более, поэтому я переключилась на другие задачи. Про безопасность. Каким образом, думаете может навредить? Мне кажется, что все что на фронте уже в зоне риска и не важно какой Стейт менеджер использовать... Важно все важные переменный и функционал выносить на сервер и не светить в стейте в том числе. Хотя иногда какой-нибудь auth-token сохраняют, но тоже по разному можно. Думаю это тоже не про Стейт.
@@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)) - мало ли кому-то пригодится на вашем канале)
@@AlexGabber сейчас собирался смотреть, так что пригодиться )
Что за нейронка делает превьюхи или ты сама?
Классно получается ❤
Нет, я не сама рисую. Обложки заказываю :) Да их делают очень круто.
Альтернатива Редаксу? Надо посмотреть.
Да, есть свои плюсы и минусы. На holyjs также читала мастер класс, если вдруг вам интересно. Там много вопросов и сравнений было с разными фреймворками. Ещё рекомендую посмотреть на reatom, создатель которого Артем Арутюнян.
25:48 Обновленная документация говорит, что стейт не должен быть мутирован.
35:00 не реактивный доступ к стору
mobx топчик
Mobx не юзала, но друзья кто используют, тоже хвалят 👍🏻
нужно срочно видео, ломки...
1. Мутабельность поддерживается
2 FC пишется если у компоненты есть чилдрены, можете ознакомится
main.tsx, 8я строка как называется оператор '!' ?
Нигде не могу найти почитать