Geoshly Williams
ааа... я только что понял, что это такой тонкий троллинг
Egor
Чтобы писать нормальный код Чтобы писать код, который хотите писать вы, const бесполезен
Alexey
это тот тимлид из сообщений выше?
.
подожи, это был не сарказм?
Это была логика. Const не нужен. (С)
Bogdan
как обычно срач не очем , все как всегда
Сергей
пацыки, а есть какой-нибудь ресурс, чтобы можно было глянуть идеи и варианты, как красивее вывести список?
J. A. R. Kotlien
Кто знает, к концу года завезут suspense for data fetching?
Sergey
Есть токены в куках и авторизационные куки с флагом httpOnly, для защиты от XSS. А как кто борется с CSRF? Прежде всего вопрос к тебе @sovasergey ты должен знать
Обычно сервер пишет в HTML страницу токен, с которым приложение делает запрос. Иногда токен нужно обновлять, но пока идёт обновление других запросовт отправлять нельзя
Sergei
Привет, подскажите кто что использует для графиков ?
Alexey
40 минут прошло, проснулись
Sergey
40 минут прошло, проснулись
Не все следят за каждым сообщением в чате
Максим
ComponentDidCatch. Да и эффективный рендер на хуках куда сложнее построить, имхо.
А зачем Вам CDC? Отлавливать ошибки в коде в процессе разработки? Для ошибок с апи все равно как правило интерцепторы используют. У меня уже просто второй проект, довольно крупный, без использования классов в принципе.
Vladimir
На фронте сломалось?
в рендере например return some.non.existent.field
Максим
Понятно, у нас sentry в проекте просто используется.
Андрей
Понятно, у нас sentry в проекте просто используется.
У нас тоже. Только показывать пользователю белый экран вместо сайта - это такое.
Максим
Я точно не скажу как, не я настройкой занимаюсь, но позволяет.
Максим
Правда это только в платной версии, насколько я знаю.
Андрей
Правда это только в платной версии, насколько я знаю.
3 строчки кода в проекте или же платить за Sentry. Хм...
Michail
Подскажите с массивом из состояния как правильно работать. Нужнл создавать его копиюю и делать какие нибудь манипуляции Или можно сразу в нем добавлять новые значения, а в конце прописать setState
Shimon
Извините за офтопик. Может кто знает как решить проблему? Дизайнер прислал несколько картинок SVG а у них во всех используются те же названия классов и id (типа id="linear-gradient-4" и т.п.). Так вот одна картинки из-за этого портит другую. Как решают такую проблему?
Anonymous
От 99% грамотно настроенные cors защитят.
Уже настроен, но я думаю вы заблуждаетесь, ИБшник если не CSRF/XSS найдет, так что-то другое, и никакой CORS вам не поможет
Максим
3 строчки кода в проекте или же платить за Sentry. Хм...
Если так подумать, то да 😄 Хотя конечно не 3 строчки, и возможно в платной версии это не единственная плюшка
Максим
В любом случае, я думаю вопрос с этим методом будет решен в ближайших версиях реакта.
Anonymous
Правда это только в платной версии, насколько я знаю.
Так есть же ErrorBoundary, у sentry есть более полезная штука: оставить отчёт об ошибке, который посылается прямо в sentry правда пользователем он не нужен, разве что тестерам
Anonymous
вот кнопку для отчёта можно показывать на странице «что-то пошло не так» или типа того, у нас так и сделано на тестовом окружении, правда это никому не нужно)
Anonymous
ErrorBoundary на хуках?
Один класс иметь - не страшно
Vladimir
ErrorBoundary на хуках?
там внутри тот же componentDidCatch
Андрей
ErrorBoundary на хуках?
React.error(Component, props => {})
Anonymous
Хука нет, но я не считаю это проблемой
Anonymous
React.error(Component, props => {})
Такое уже есть?
Максим
Почитайте диалог сначала, иначе войдем в рекурсию))
Anonymous
Нет.
Странно, к чему вы тогда это написали
Андрей
Странно, к чему вы тогда это написали
Потому что есть React.memo. который заменяет shouldComponentUpdate
Максим
React.error(Component, props => {})
Я так понимаю, это видение, как это должно быть реализовано
Ilya
const __SECRET_PI_DO_NOT_CHANGE_OR_YOU_WILL_BE_FIRED = 3.14
... __FOR_THE_GLORY_OF_FEARLESS_SOLDIERS_OF_RED_SOVIET_ARMY 😁 забыли важный суффикс
Ilya
Потому что есть React.memo. который заменяет shouldComponentUpdate
Ну если ковырнуть глубже :) то это не тождественные механики, просто ими привычно решают одни и те же задачи :) а так-то неизменный shalow compare принцип при мемоизации, в то время как SCU это прямое ручное управление + разное расположение в жизненном цикле
Oleg
а componentDidCatch позволяется на любом уровне ошибку найти, или только непосредственно в первом чайлде?
Андрей
а componentDidCatch позволяется на любом уровне ошибку найти, или только непосредственно в первом чайлде?
На любом. Это аналог throw, только не для колстека, а для дерева компонентов.
Oleg
Кто знает что означает символ @ в json key? например @attributes
Dmitrii
Гайз, может поможете решить проблему с жизненным циклом браузера? Необходимо определить момент времени, когда страница приложения полностью прогружена, построены все лэйауты, отрисовались все графики. В этот момент нужно просто вызвать кастомное событие. Нужно это для того, чтобы на сервере через chrome headless зайти на страничку и сфоткать её в pdf после того, как она готова к снимку. Решать данную проблему через таймаут - плохая вещь. Слушать дом-ивенты - тоже не подходит, т.к. у нас spa, js всё делает. Единственное, что на ум приходит, взять какой-то самый тяжеловесный компонент, который используется на странице (в данном случае график chart.js) и зацепиться за его хук, если он есть у него. Тоже фигня какая-то. Вобщем, я все 3 варианта испробовал, может есть ещё что-то, чего я не вижу?
Oleg
На любом. Это аналог throw, только не для колстека, а для дерева компонентов.
а я могу как-то редиректить юзера на 404 страницу или типа того? попытался так componentDidCatch(error, info) { history.push('/something-went-wrong'); } редиректит, но всё равно показывает саму ошибку на страницу.
Dmitrii
page.waitForSelector возможно
в puppeteer видел такое, но как понять какой селектор мне нужен... даже если я добавлю айдишник самому хардкорному графику, он может быть вставлен в дом, а сам график ещё не отрисован...
Oleg
Гайз, может поможете решить проблему с жизненным циклом браузера? Необходимо определить момент времени, когда страница приложения полностью прогружена, построены все лэйауты, отрисовались все графики. В этот момент нужно просто вызвать кастомное событие. Нужно это для того, чтобы на сервере через chrome headless зайти на страничку и сфоткать её в pdf после того, как она готова к снимку. Решать данную проблему через таймаут - плохая вещь. Слушать дом-ивенты - тоже не подходит, т.к. у нас spa, js всё делает. Единственное, что на ум приходит, взять какой-то самый тяжеловесный компонент, который используется на странице (в данном случае график chart.js) и зацепиться за его хук, если он есть у него. Тоже фигня какая-то. Вобщем, я все 3 варианта испробовал, может есть ещё что-то, чего я не вижу?
window.addEventListener('load', (event) => { console.log('page is fully loaded'); });
Dmitrii
Спасибо..оставлю значит таймаут на две секунды в componentDidMount, другого способа не вижу.
Dmytro
Всем привет. Вопрос немного не по реакту. Как изменять наполнение div контейнера (сайдбара) в зависимости от его ширины? инпутом чекбоксом меняю его ширину, а вот как менять размер картинок и убрать текст не знаю, подскажите в какую сторону смотреть
Dmytro
о, спасибо. сейчас буду изучать
Oleg
window.matchMedia
даже не знал о таком)
Vladimir
даже не знал о таком)
это для сложных случаев, которые не разруливаются через @media в css