Daniil
чет в сину с этой хуйни
Oleg
я вообще не понял, к чему это было.
Тимофей 🛴
Да сразу было понятно что он мутирует, даже без описания, что вы начинаете)
Oleg
Да сразу было понятно что он мутирует, даже без описания, что вы начинаете)
телепаты из отпуска вернулись? хотя да, в 90% случаев это мутация.
Ilya
Да сразу было понятно что он мутирует, даже без описания, что вы начинаете)
Люди думают что React - «реактивный»… нельзя их в этом винить 🙂 заблуждение в связи с названием - весьма распостраненное
Ilya
Люди думают что React - «реактивный»… нельзя их в этом винить 🙂 заблуждение в связи с названием - весьма распостраненное
шутка… на самом деле можно - и даже нужно, потому что опять таки не удосужились даже introduce в документации почитать и мотивацию
Bogdan
есть массив елементов, по клику рисуются с анимацией, но проблема в том, что при рендере нового елемента, анимация проходит по всем уже отрендеренным елементам, подскажите, как анимировать именно новый елемент?
Bogdan
да
Ilya
React.memo key
+ поможет в случае если входные данные для элементов изменившегося списка никак не привязаны к их индексу в массиве (ну и само собой ключ (key property) - так же должен элементам обеспечивать уникальность и опять таки к индексу не должен быть привязаным)
Oleg
да
Ну тебе нужно передать определённый класс, отвечающий за анимацию. По идее.
Ilya
Ну тебе нужно передать определённый класс, отвечающий за анимацию. По идее.
у него так и происходит - просто каждый компонент рендерится каждый раз и анимация выполняется как для вновь смонтированного элемента
Sergey
да, ключ что то не помогает
К индексу привязал
GG
шутка… на самом деле можно - и даже нужно, потому что опять таки не удосужились даже introduce в документации почитать и мотивацию
не пойму почему он не реактивен. Если рутовую ноду обновишь, все дочернии не перерендерятся?
Пантелеев
не пойму почему он не реактивен. Если рутовую ноду обновишь, все дочернии не перерендерятся?
он наверно имел ввиду что под реактивностью новички понимают мнгновенность, а не реакции
Bogdan
К индексу привязал
так что именно привязывать? я не могу это понять, видимо у меня что то не то
Ilya
+ поможет в случае если входные данные для элементов изменившегося списка никак не привязаны к их индексу в массиве (ну и само собой ключ (key property) - так же должен элементам обеспечивать уникальность и опять таки к индексу не должен быть привязаным)
если какие либо входные параметры компонентов списка завязаны на индекс (иногда такое бывает - например компоненты рендерят себе номер, архитектура «так себе» но иногда встречается и имеет смысл в простых случаях) то необходимо хранить состояние уже анимированных элементов (н/п массив их «ключей») и назначать им класс без анимации при наличии их ключа в списке «анимированных» и в очередном рендере - актуализировать этот список
Ilya
у меня сейчас массив елементов просто тупо рендерится по клику, кликнул, плюс елемент и тд, и анимация снова и снова для всех при апдейте происходит
вы упорно не хотите прочитать то что вам написали - перечитайте ответы - начиная от первого вашего вопроса - внимательно
Andriy
Йов
Andriy
Ребят. А env переменные скрыты от пользователей?
Sergey
Ребят. А env переменные скрыты от пользователей?
Зависит от того как собираешь реакт приложение
Sergey
Но чаще всего они вписываются в бандл как есть и видны в коде
Vadim
Sergey
Через вебпак
Значит видны
Andriy
Значит видны
Мне нужно скрыть эту переменную от глаз. Это должен быть ключ для расшифровки данных зашифрованных на сервере. Идея в том чтобы присылать в get параметре некий JSON с сервера который потом должен расшифроваться используя этот ключ
Ilya
Мне нужно скрыть эту переменную от глаз. Это должен быть ключ для расшифровки данных зашифрованных на сервере. Идея в том чтобы присылать в get параметре некий JSON с сервера который потом должен расшифроваться используя этот ключ
Задачи шифрования и дешифровки возлагать на JavaScript вообще не следует… В любом случае это костыли - так как эффективности и безопасности добиться на приемлемом уровне практичесик невозможно
Andriy
Зачем
Мне нужно как-то передать JWT токен с сервера на фронт в get запросе а для того чтобы это сделать безопасно я решил использовать фирование.
Sergey
Просто дергай метод когда приложение запустится
Sergey
GET /api/session
Sergey
Сервер пропишет токен в cookies и все следующие запросы будут с токеном
MVD
sicp
https://m.habr.com/ru/post/282986/
Ilya
Сервер пропишет токен в cookies и все следующие запросы будут с токеном
бэкенд может не реализовывать такой подход… (что в случае с JWT конечно весьма странно :)) в любом случае если уж хочется что-то шифровать/расшифровывать - попробуйте использовать соответствующий браузерный API https://developer.mozilla.org/ru/docs/Web/API/Window/crypto
Maksim
https://m.habr.com/ru/post/282986/
что это меняет?
MVD
что это меняет?
Что книга устарела
Евгений
Что книга устарела
До конца хоть дочитай что скидываешь, лол
Евгений
Хотя ты прав в том что для клепания формочек sicp не нужен точно
MVD
До конца хоть дочитай что скидываешь, лол
Действительно. Невнимательно прочёл
Евгений
А вообще Чистая Архитектура оч годная книжка
Евгений
Но она вносит много терминов и в целом слабо их объясняет, надо копать самому
Евгений
Которая 2017г. от Uncle Bob
Andriy
бэкенд может не реализовывать такой подход… (что в случае с JWT конечно весьма странно :)) в любом случае если уж хочется что-то шифровать/расшифровывать - попробуйте использовать соответствующий браузерный API https://developer.mozilla.org/ru/docs/Web/API/Window/crypto
Задача состоит в том что есть некая кнопка Login as Client с которой юзер может попасть в SPA как залогиненный а SPA общается с API по JWT. Тоесть вопрос в том что нужно как-то прокинуть токены на SPA когда осуществляется переход по этой ссылке (Login as Client) иначе как SPA узнает под кем и как заходить
Пантелеев
А вообще Чистая Архитектура оч годная книжка
Хз помоему в ней тупо масштабируется solid и придумыааются новые названия для одних и тех же принципах на каждом уровне
Евгений
Мне только принципы проектирования компонентов не оч зашли
Kirill
Задача состоит в том что есть некая кнопка Login as Client с которой юзер может попасть в SPA как залогиненный а SPA общается с API по JWT. Тоесть вопрос в том что нужно как-то прокинуть токены на SPA когда осуществляется переход по этой ссылке (Login as Client) иначе как SPA узнает под кем и как заходить
выглядит не очень безопасно. Ты что ли логин/пароль будешь в открытом виде хранить?) Тебе надо на сервере по команде от своего супер-юзера сгенерить JWT-токен для указанного пользователя, ну и дальше передать куда надо (на фронт, в куку и тп)
Пантелеев
CCP: Common Closure Principle — принцип согласованного изменения; чем это от S из solid отличается кроме формулировки...
Влад
Спасибо большое. Мне и не надо начального уровня) пишу давно. Хочу структурировать знания
Шо ты тогда хочешь, нечем заняться...))? http://www.ecma-international.org/publications/standards/Ecma-262.htm https://reactjs.org/
Пантелеев
почему ты так решил? вот как принцип звучит: В один компонент должны включаться классы, изменяющиеся по одним причинам и в одно время. В разные компоненты должны включаться классы, изменяющиеся в разное время и по разным причинам.
Sergey
Забыл как звучит CCP
Пантелеев
ну да так сам автор и подтверждает это
Anonymous
А хуки это что? Костыль или гениальный ход?
Sergey
Просто инструмент
Александр
А хуки это что? Костыль или гениальный ход?
Удобный весьма инструмент. По мне, так это шаг вперёд, стало гораздо удобнее и проще.
Влад
Волшебных таблеток нет...
Natalia
Гайс, если я заэкспортила дефолтно и импорт тоже дефолтно модуля, почему может ругаться бабель что не видит модуля