Спасибо огромное за мега крутое объяснение! На мой взгляд, для новичков оно сложновато, но если посмотреть несколько раз, то всё становится очень понятно. Да еще и такой нетривиальный подход осветили! Я в восторге!!! Еще раз безгранично благодарю! Надеюсь, что вы не перестанете снимать такой полезный контент! Удачи!🥰
А еще можно добавить оптимизацию одну: класть значение и изменение значения в разные провайдеры(them в один провайдер, а setTheme в другой) Эта фишка вообще к любым значениям применима. Ведь есть компоненты куда мы прокидываем например setTheme, а theme нет и будут лишние ненужные перерендеры.
Это нужно для типизации. Этот восклицательный знак означает, что будет получено то значение, у которого будет элемент с индексом 0. Так как изначально мы контексту присваивали значение undefined, то естественно, что к нему мы не можем обратиться так как обращаемся к массиву. Поэтому тайпскрипт требует, чтобы мы ему точно сказали, что это будет не undefined, а массив. И проставив восклицательный знак, мы таким образом ему об этом сообщаем) Если вы пишите свой код без типизации, то этого восклицательного знака там просто не будет)
Спасибо огромное за мега крутое объяснение! На мой взгляд, для новичков оно сложновато, но если посмотреть несколько раз, то всё становится очень понятно. Да еще и такой нетривиальный подход осветили! Я в восторге!!! Еще раз безгранично благодарю! Надеюсь, что вы не перестанете снимать такой полезный контент! Удачи!🥰
zustand - наше всё!
Очень круто! Продолжай, пожалуйста, снимать!
Спасибо за контент!
Все по полочкам, довольно интересно слушать =)
Продолжай в том же духе, хорошо объясняешь!
А еще можно добавить оптимизацию одну: класть значение и изменение значения в разные провайдеры(them в один провайдер, а setTheme в другой) Эта фишка вообще к любым значениям применима. Ведь есть компоненты куда мы прокидываем например setTheme, а theme нет и будут лишние ненужные перерендеры.
Спасибо 😊
Какой голос красивый!..
Для чего восклицательный знак в этой строчке? useContext ( context: MyContext)! [0];
Я тоже на этой теме, но я думаю тебе не нужно зацикливаться на этой фигне, если ты шаришь в массивах, то должен знать что как оно должно работать
Это нужно для типизации. Этот восклицательный знак означает, что будет получено то значение, у которого будет элемент с индексом 0. Так как изначально мы контексту присваивали значение undefined, то естественно, что к нему мы не можем обратиться так как обращаемся к массиву. Поэтому тайпскрипт требует, чтобы мы ему точно сказали, что это будет не undefined, а массив. И проставив восклицательный знак, мы таким образом ему об этом сообщаем) Если вы пишите свой код без типизации, то этого восклицательного знака там просто не будет)
Круто, в фронтенде придумали глобалы