Двач.hk не отвечает.
Вы видите копию треда, сохраненную 13 мая 2023 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
image.png80 Кб, 1050x1050
JS Thread #268 /js/ 2621834 В конец треда | Веб
Предыдущий тред: >>2609772 (OP)

Больше пары строк кода в посте или на скриншоте ведут в ад.

Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs

Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.

Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
2 2621854
База треда.

Ангуляр для чедов.
Вью для беток.
Реакт для омежек.
16769664920720.mp44,4 Мб, mp4,
1080x1920, 0:14
3 2621855
4 2621881
>>21854
Нодогосподин писяет на фронтовичков.
5 2621919
>>21881
Какой стек? БД, фреймворк, монолит или микросервисы, облако?
Аноним 6 2621927
Вы чо ебанутые? В прошлом треде только 670 постов. Saga
7 2621938
>>21881
Кринжанул люто с ноды
8 2621954
>>21938
Идеальный инструмет для индикабачков и микро кабанчиков с микро стартупами. естественно с TC
9 2621956
>>21919
Всего хлебнул. Коа, нест, монга, постгрес, датастор, монолит, микросервис, бессервер, пм2, кубер, gcp, ажур, даже ебучий селениум.
10 2622018
Как установить размер кнопки в css ?
11 2622022
>>22018
el.style.fontSize = `40px`
Кнопка сама подтянется.
12 2622024
Анончики, нужен совет:
С фронта на бэк идет пост на создание. На бэке коллятся запросы в другие сервисы для взятия данных, запись в бд создается и возвращается фронту.
Проблема в том, что запрос может занять >30 мин. Моя идея пока в том, чтобы вернуть фронту хоть что-то, а потом - фронт сам на гет раз в 30 секунд получит новые данные. Но это пиздец тупо, как мне кажется.
Посмотрел, что можно использовать Pub/Sub или воспользоваться сокетами. Может есть и что-то еще. Не особо шарю, поэтому спрашиваю, может есть тру вэй для решения таких проблем.
13 2622026
>>22018
1. Открываешь страницу с кнопкой
2. Берешь линейку
3. Приладываешь линейку к монитору
4. Измеряешь линейкой размер кнопки
5. Размер кнопки установлен
14 2622032
>>22024
Можешь еще сервер эвент использовать
https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events
это проще чем уебсокет, а пубсуб на беке делать редисом.
15 2622035
у
16 2622040
>>22032
Спасибо за наводку. Почитал про sse, вроде то, что нужно. Опробую
17 2622041
>>22022
Куда это вставлять ?
18 2622044
>>22032
Т.е схема такая
фронт --> запрос ручки для запроса данных
фронт --> всегда слушает server set events ручку

Ручка --> Редис --> Микросервис
Микросервис --> Редис -> server set events ручка
19 2622316
>>22041
в конфиги.
20 2622546
Как безопасно проверить, что переменная существует (была объявлена), и не словить ReferenceError?
21 2622548
>>22546
Если тебе это нужно, то что-то уже пошло не так. Если тебе похуй, то оберни в трай кэтч.
22 2622552
Что-то на learn.javascript дошел до темы "Типы данных", и сложность задач резко возросла. Раньше на одну темы уходило 2-4 часа, а теперь на одну тему может уйти и 6 часов. Я точно в верном направлении иду? Может есть еще какие-нибудь ресурсы, где про JS рассказывают человеческим языком?
23 2622553
>>22552
Поправлюсь: до раздела "Типы данных". А то сейчас начнётся кококо, что я дебил, забуксовавший в самом начале учебника.
24 2622554
>>22552
Если у тебя типы данных вызывают проблемы, то скорее всего js тебе рановато изучать и фундаментальных знаний немного. Начни с курса по языку си. Это буквально неделя и ты поймешь, что к чему и как работает. Потом будет значительно легче во всех языках
25 2622557
>>22552
>>22553
Почему-то дикое желание постить под такие сообщения шебм из >>21855
26 2622581
>>22553
Да мы поняли, ты у мамы не глупый. Просто ленивый.
27 2622602
>>22552
Да, мы тебе тут можем человеческим языком пояснить, но не будем, потому что ты тупой.
28 2622636
>>22546
Через typeof
29 2622637
>>22557
>>22581
>>22602
Почему-то представил, что мне это написали сеньоры и проиграл.
30 2622643
>>22554
Взял на заметку, но как-то слишком прохладно звучит.
31 2622676
>>22637
Блепт... А что если попал?
Вот этот гражданин >>22557
32 2622681
>>22676
Ну попал и попал, бывает. Делать что ли тебе нехуй, анон, кроме как вкатышей оскорблять. У тебя там бабок дохуя фармится в наносекунду, сидишь в чистоте и тепле, а не ебашишь на заводе, обмазавшись соляркой и углём. Жизнь удалась, нахуя тебе вся эта мышиная возня, нахуя тебе кого-то оскроблять, нахуя тебе на ком-то самоутверждаться. Ты уже на вершине, никто с этим не сможет спорить. Тем более, что на работе своей ты уже наверняка повидал всякое - и вкатышей, которые нихуя не знают, и мидлов, которые не могут на простые вопросы ответить. Да и работа у тебя наверняка такая, что уже тупо лень кого-то еще в интернете пинать, доказывая своё превосходство.

Я просто не понимаю. Зачем вести себя как вкатившийся джун, который постоянно чувствует себя дауном-аутистом, и поэтому ему нужно кого-то на анонимной имиджборде пнуть и послать нахуй.
image.png88 Кб, 994x344
33 2622709
>>22681
Поясняю. Я помогу вкатуну, когда у него будет конкретный вопрос из ряда "почему так работает?", "вот код, хочу сделать Х, а получается Y, что я делаю не так?" и тд. Но когда пчелик приходит и говорит, что ему сложно на типах данных в джавасрипте - ну это сразу в хохот. И пишет, что до этого норм, было, а тут стало тяжело, давайте нормально поясняйте. А предыдущие главы какие: хеллоу волд и переменные, а он на них по 4 часа тратил. Это прям винрар.

Но надо отметить, сам звезд с неба не хватаю, скромные 4к всего.
34 2622710
>>2619619 →
>>2619623 →
>>2619632 →
>>2619668 →
Ребята, спасибо вам большое за попытку помочь, но на тот момент я ни черта не понял из ваших объяснений. Я никак не мог понять, почему в переменную записывается функция, хотя вы утверждали, что записывается результат, а не функция. Поник головой, два дня играл в КСГО, посрался с другом, помирился с другом, сел обратно за эту задачу, и понял, что всё дело в том, что str - это примитив. Если к примитиву применять метод, то результат не будет сохраняться. Только к объектам можно применять методы, рассчитывая на сохранение результата. В данном случае для str создаётся "объект-призрак", суть которого я так пытался запомнить. В этом "объекте" применяется метод toLowerCase(). А потом результат тут же забывается, ведь str - это примитив, а не объект. Результатом должна быть строка полностью в нижнем регистре. Поэтому тут два варианта: либо применять метод к примитиву каждый раз, либо записать результат метода в отдельную переменную, и использовать уже её вместо метода.
35 2622711
>>22553
А, вот это пропустил и тут некорректо насчет разделов >>22709. Тогда такой ответ: всё там нормально когда последний раз заглядывал, не выебывайся и сиди над задачами.
1.jpg32 Кб, 651x191
36 2622713
>>22710
Вот так выглядел мой код изначально. Как видите, я не использовал вторую переменную, которая бы сохраняла результат метода toLowerCase(), применённого к примитиву str. Отсюда и проблема.
37 2622714
>>22711
Ну спасибо, а то я уже собирался закрыть Visual Studio Code и идти плакать в подушку, как вчера. Продолжаю учиться тогда.
38 2622716
>>22681
Да, я тебя понял. Вот с этим солидарен >>22709
По последнему треду даже если смотреть, частая картина, что даже если нужна какая-то помощь, зачастую задача идёт без вводных и с невнятной целью.
Вытаскивать клещами, что требуется, когда все тупые - не доставляет удовольствия.
image.png282 Кб, 623x423
39 2622841
>>22716

>Вот с этим солидарен


чаю. даже если какая-либо проблема была исследована и расписана в тексте - это может быть вовсе не решением для анона-вкатыша.
т.к. проблема была вовсе о другом а гадать на картах для выявления вопроса меня не учили.

кст, бывалые в этом треде, раньше же было пояснение в шапке, что нужно код в песочницу пихать и ссылку сюда давать? год-два назад вроде было, не?
или у меня какие-то ложные воспоминания?
40 2622913
Есть какой-нибудь годный курс по next? Можно на ангельском
41 2622924
>>22913
Да. Делаешь пет - читаешь доки. Читаешь доки - делаешь пет.
42 2622925
>>22924
душнила бля ты
43 2622928
>>22925
Ты для души некстжс собрался изучать или чтобы кабану проекты писать? Вот и пиши.
44 2622931
>>22913
>>22925
Там не настолько необъятная дока. Актуальная инфа будет в доке.
Копипастить тоже следом за видео будешь?
Ну вот смотри, какой-то видос с челом который клепает сайт на некст, аж 12 часов назад!
https://youtu.be/e1EIwuO-Dlo
45 2622965
Есть текст с контуром, когда я помещаю другой текст на этот контур, то он проваливается под него. Как это исправить ?
46 2623010
>>22965

>Как это исправить ?


Научиться вопросы задавать.
47 2623122
>>22965
не подставлять другой текст.
49 2623171
>>23167
Чел, я даже лодаш стараюсь не использовать а пишу велосипеды
50 2623204
>>23171
Мы вам перезвоним.
image.png111 Кб, 513x923
51 2623223
А вот и я, пришел вас обоссывать. Спустя сутки я смог правильно объяснить ИИ что мне нужно, и она мне написала нужный код и сэкономила мне 6000 рублей который вы у меня тут вымогали. Хотя я готов был заплатить 1к за эту легкую работу на которую ушло бы у вас 10 минут.
Ой, это что, получается програмизды не нужны? Ведь я сделал для себя скрипт с нулевыми знаниями JS. Как же так?
Тьфу на вас блять. Не зайду сюда больше никогда
52 2623226
>>23204
Ты ему собрался перезванивать из-за одной функции, для которой надо тащить лодаш?
53 2623229
Я хуй знает зачем этот тред еще здесь висит.
Вебмакакинг ВСЁ
ChatGPT уебал всех вкатунов и уебет скоро всех мидлов. Советую осваивать курсы сантехника
54 2623231
>>22552
Зачем тебе это, чел? ИИ заменил всех джунов, конец сказки.
55 2623235
>>23223

> бесплатна


> 200 рублей


> даже 2к


> нет всё-таки 200р


> съэкономил 6к


> внезапно 1к


+15р за двое трое? суток?

Рад за тебя, теперь осталось вкатиться обратно на толоку.
56 2623237
Так и не понял, какой фримверк для фронта лучший? Вот я разработчик заднего конца, хочу чисто для себя выучить жиес чтобы там интерфейсики всякие прикольные клепать (особенно электрон нраицца). Что же взять - РЕАКТИВНЫЙ, УГЛОВАТЫЙ, ВИДОК или СВЕТЛЕНЬКИЙ?
57 2623238
>>23229
Почему ты здесь а не в /san?
58 2623239
>>23223
Ух, знатная копипаста.
59 2623243
>>23237
Жиквери очевидный.
60 2623252
>>23239
Не, он приходил 23-го https://2ch.hk/pr/res/2609772.html#2621062 (М)

Опять абстрактная задача, с чем логично был отфутболен. Сходил в /b, нихуя не получилось.
3 дня объяснял ИИ чего он хочет.
Прямо как этот с его контурами >>22965
Что он там подразумевает под контурами и что делает - да кто его знает лол.
16218787908350.mp4618 Кб, mp4,
320x240, 0:14
61 2623426
>>23223
Проорал Анончик. Как же ты тут всех попустил.
62 2623502
>>23223
трахнул получается, теперь тебе открыта дорога в сеньоры
63 2623504
>>23223
Ну я же первым постом тебе тогда указал на проблему >>2621098 →. А потом ты попыхтел пару деньков - и чатЖПТ сделал, что тебе нужно. Так что не ленись в следующий раз просто.
64 2623559
>>23237
Попроси у ChatGPT "напиши лучший фреймворк для фронта".
65 2623567
>>23237
Blazor если ты пишешь бэк на самом современном языке в мире - C#
66 2623584
>>23237
реакт без вариантов, он просто популярнее и инфы по нему больше. К тому же он проще всех, остальные используют для довольно специфических задач
67 2623589
>>23223
костыль.костыль(костыль).
68 2623908
>>21954
Почему кстати нода до сих пор не стала универсальным инструментом на бэке? Буквально лучше решеток и джавы почти во всем, не говоря уже о всяких питухонах.
69 2624027
Привет. Часто ли на практике вы используете рекурсивные функции? В каких случаях они бывают вам полезны?
71 2624055
>>23999 (Del)
Говори конкретнее, что в жабе или решетках есть такого, чего нельзя реализовать на жс/тс?
72 2624068
Небольшой архитектурный вопрос. В этом случае стоит использовать интерфейсы или классы? Всё эти данные парсятся из JSON с внешнего сервера и вручную не создаются.
73 2624077
>>24068
Если нужна валидация или проверка типов в рантайме, то классы.
74 2624078
>>24032
Принципе, можно стоя в гамаке трахаться.
75 2624080
>>23237
первый пост в этом треде тебе в помощь.

ну а если ты задний писал через классы то угловатый самый раз.
76 2624081
>>24032
А теперь реализуй выгрузку файлов чанками, динамическую форму без перезагрузки страницы с переменным количеством инпутов в зависимости от ввода, анимацию открытия закрытия меню древовидной структуры и чтобы количество уровней дочерних элементов было неизвестно заранее, перетаскивание элеметов этого меню, плавный ресайз отдельных областей страницы, контекстное меню на странице, события на странице при скролинге например изменение лайаута элементов и тд и тп
77 2624085
>>24081
Плати.
78 2624095
>>24085
Сначала устройся на работу разработчиком браузеов, чтобы это все на css стало возможным. А на жс я и сам могу, незачем платить.
79 2624097
>>24081
Это троллинг? В чем смысл того, что ты перечислил? Такие задачи встречаются? Есть где реализовано похожее?
80 2624103
>>24097
Что там необычного увидел? CRM никогда не писал или другой софт для внутренних задач бизнеса? Ну разве что про скроинг это скорее из свистоперделок для публичных сайтов.
81 2624108
Чому в браузерах нет TCO? В стандарте же есть, неужели такая сложная фича?
82 2624119
Подскажите пожалуйста, как убрать отступ в css + html между несколькими тегами <p>текст</p> с текстом ? Хочу что бы они были рядом.
83 2624121
>>24119
p {
margin: 0;
}
84 2624122
>>24108
В стандарте - нет. Читал бы ее - знал.

TCO была принята в стандарт ES6 и не имплементирована никем, кроме javascriptcore.
В вебе заведено что от ЛЮБОГО стандарта для его принятия требуется две независимые имплементации среди активно используемых платформ.

Так как TCO не было имплементировано никем более, его выпилили их спеки с ES7.
86 2624134
image3 Кб, 200x200
87 2624151
Как выучить CSS? Чтобы не так что сидишь и по 30 минут гуглишь почему грид на пол страницы съехал а вот именно взять и ПОНЯТЬ, чтобы вот в голове все выстроилось в цельную и гармоничную картину от а до я как и куда что считается и на что влияет, чтобы ЧУВСТВОВАТЬ макет, быть с ним ЕДИНЫМ ЦЕЛЫМ. Есть ли способ получше классического решения проблем по мере поступления?
88 2624163
>>24032
А сохранение выбранной темы?
16752798063630.mp41,1 Мб, mp4,
720x576, 0:04
89 2624168
>>24151

>учить


>css

90 2624182
>>24168
Причина подрыва?
91 2624189
>>24027
бамп вопросу
92 2624194
>>24151
Ты та сама глыба из мвп треда? Ору
93 2624199
>>24151
Почему вы не читаете спецификаций?
94 2624200
>>24194
что за глыба?
95 2624209
>>24151

>чтобы вот в голове все выстроилось в цельную и гармоничную картину


CSS не является цельным и гармоничным, так что он не выстроится. Просто берешь - и отдельно кусочками учишь, как работает грид и что на что в нем влияет, как работает флексбокс и что на что в нем влияет, как работает блочная модель и что на что в ней влияет.
96 2624215
>>24055
Ты серьезно сейчас? У нас бэк на шарпах - и он по сравнению с js примерно как Нед Старк по сравнению с Вонючкой. Тут даже не знаешь с чего начать - начиная от возможности писать аллокейшен фри код, по скорости не уступающий нативному и заканчивая линкью, позволяющему за 2 строчки сделать то, что на js займет 50 и потребует трехуровневых вложенных циклов с 10-ю временными переменными, и возможностью в целом писать методы расширения, тем самым полностью получая контроль над внешним видом кода, выводя его переиспользование на новый уровень в плане интуитивности и понятности. И это я еще про инструментарий для дебага не начинал, от которого на js плакать хочется, и встроенной документации, позволяющей за счет строгой типизации и своего качества прямо из IDE понимать, какой функционал и каким образом использовать без необходимости лезть на сайт c документацией за подробностями.
97 2624216
>>24209
Ну есть же какая-то концепция вообще у css. Например разделение элементов на строчные и блочные. У большинства строчных нет размеров, строчные не переносят следующий элемент потока на новую строку, на строчные влияет line-heigh
Или например концепция весов у селекторов Лидирует тот стиль который находится в селекторе с наибольшим весом. Если веса селекторов одинаковые то лидирует стиль в последнем селекторе.

мимо
98 2624220
>>24215
Есть rxjs он по выразительности не хуже твоего линкью. Все таки нода это лучший инструмент для индикабанчиков. Твой дотнет все же на корпоративный сектор рассчитан и на коллективную разработку с переусложненным пайплайном, тулчейном, окружением
99 2624235
>>24215
То есть в js по твоему нет ленивых цепочек итераторв и трансдьсеров, что ты привел ликью как ману небесную.

Или в прототипно ориентированном программировании нельзя писать методы расширения?

ты вообще js знаешь?
100 2624276
Как сделать чтобы определенная вкладка в браузере не ререндерилась после изменения кода в идешке? А то хочу сравнить стили, а она обновляется
101 2624280
>>24276
Отключи хотрелоад.
103 2624290
>>24276
Сделой скриншот
104 2624293
>>24289

> апрель 2016


И че они до сих пор вола ебут?

> коллстак


Коллстак из

> функциянеим


> функциянеим


> функциянеим


> функциянеим


> функциянеим


Мне конечно охуеть поможет, как мне без него жить то?
105 2624295
>>24276
запусти две аппы.
106 2624324
Анон, помоги вкатышу. У меня есть такая строка "$123.321" как мне с помощью slice() положить в две разные переменные то, что находится до точки и то, что находится после точки?
107 2624325
>>24324
split(".")
image.png7 Кб, 415x127
108 2624328
109 2624329
>>24325
>>24328
Спасибо!
110 2624335
>>24332 (Del)
Версии ес бампаются ровно раз в год.
То что было уже три-пять лет назад сложно называть последними версиями.
111 2624347
>>24027
Нет. Когда нужно обойти вложенные структуры.
112 2624455
>>21881
Расскажи как вкатился на бэк. Сразу на ноду или сперва был на другом языке?
113 2624483
>>24455
Через фулстек, потом надоело красить кнопки и пошёл на проэкты только с бэком, к счастью на галере с этим норм.
114 2624591
>>24483
Пиздец, тоже хочу. На фронтенде работаю чуть больше года, пиздец тупиковая хуета.
115 2624712
>>24220

>Есть rxjs он по выразительности не хуже твоего линкью


Намного хуже. Просто посмотри и сравни.

>Все таки нода это лучший инструмент для индикабанчиков.


Только тем, что можно запрячь фронтенд-макак писать бэк. На этом преимущества заканчиваются.

>с переусложненным пайплайном


Там пайплайн разработки, внезапно, проще.

>>24235

>То есть в js по твоему нет ленивых цепочек итераторв и трансдьсеров


Просто сравни, как они пишутся. С линкью и рядом не стоит.

>Или в прототипно ориентированном программировании нельзя писать методы расширения?


В js - нельзя.
116 2624741
>>24347
Спасибо
117 2624892
>>22024

>Но это пиздец тупо, как мне кажется.


Эээ, почему? Самый простой и самый надежный способ, если на latency похер, а в твоей случае как раз похер.
118 2625110
Как поместить результат работы each(html) в один контур ?
У меня получается, что каждое слово в новом контуре, а мне нужно что-бы один был контур для всех слов.
119 2625114
>>25110
Получилось, нужно было поверх each <div> положить, угу.
120 2625122
>>25110
Контурошизик, вопросы формулируй нормально, ну или пили песочницы, ну чего ты в самом деле.

если ты другой анон, сорян, но про формулирование и песочницу, и к тебе относится тогда.
121 2625177
>>25122
Вот тебе не жалко пацана? Когда он поток сознания начнет на кабаныча изливать, кабаныч станет потом от него во все стороны шарахаться что б не загрузил шизой.
122 2625379
Есть селект, при нажатии появляется дропдаун и там кнопка которая открывает модалку. При нажатии на селект какого-то хуя срабатывает onclick кнопки, хотя ее в в момент нажатия даже в документе нет. Есть идеи почему так может быть?
123 2625394
>>25379
Смотри где у тебя висят обработчики.
Возможно, ты не туда присобачил обработчик. Ты можешь посмотреть в событии с какого элемента был запущен обработчик.
Возможно, обработчик висит где-то выше и срабатывает при всплытии события. Для этого нужно вызвать event.stopPropagation чтобы не было всплытия.
124 2625400
>>25177
Скорее пма жалко.
Вряд ли контурошизичный словарь пилить кто-то будет, посадят его на какой-нибудь зашкварный проект и будет себе там контуры в кулачок пилить.
125 2625401
>>25394
Ах да забыл, проверь что ты не дёргает флаги/мочалку из обработчика в селекте
image.png48 Кб, 670x524
126 2625424
Помогите нубику, знак $ для чего здесь и где почитать про это? гугл не то ищет
127 2625426
>>25424
Видишь знак $ - это 90% jQuery.
128 2625429
>>25424
жиквери.
129 2625431
>>25426
>>25429

О,спасибо
130 2625766
>>25424
Ты обучаешься про курсам 10-летней давности, или залез на легаси проект?
Снимок.JPG48 Кб, 598x760
131 2625864
Некстодебилы, для вас нормально делать два запроса на ровном месте, вместо одного? Как этого избежать? При условии, что я не знаю количества постов, для массива path.
132 2625914
>>25864

> In development (next dev), getStaticPaths will be called on every request.



https://nextjs.org/docs/basic-features/data-fetching/get-static-paths#runs-on-every-request-in-development
133 2625933
>>25914
Принимается, а если не статический рендер, а динамический?
134 2626007

>>2625963


Да как ты заебал
135 2626015
В общем есть такая проблема:
У меня есть страница куда при загрузке useEffect'ом выгружается с сервака первый объект в стейт и отображается. В этом объекте содержиться текст и кнопка. При нажатии на кнопку должно инкрементировать let который указывается в ссылке на сервак и должен выполняться запрос на сервак за новой порцией текста и новой кнопкой которые должны быть сразу видны на странице под предыдущим контентом.

Как это сделать по грамотному? Пж помогите ребятки.
136 2626035
Объясните человеческим языком разницу в пикриле.

И есть ли человеческий способ итерироваться по геттерам в тайпскрипте?
137 2626057
>>25933
А ты хочешь статику пре-билдить, или тебе каждый раз нужно актуальные данные тянуть с SSR?
Динамика - getServerSideProps, будет вызываться на каждый запрос.
getStaticPaths с getServerSideProps работать не будет, некст после него лёроаёт getStaticProps.
Если тебе нужно периодически пересобирать статику - ISR:
https://nextjs.org/docs/basic-features/data-fetching/incremental-static-regeneration
138 2626106
>>26057
Та я пока пытаюсь понять, как Некст работает, что бы эффективно его использовать. Если у меня есть, например, страница юзера, она же должна быть династической, верно? Нельзя же при билде срендерить сразу все страницы всех юзеров? Мне кажется, что нет. Отсюда вопрос.
Есть возможность иметь на одной странице два компонента, один со статической инфой (например статья какая-то) и второй с динамической (хедер с данными пользователя)? Просто в двух словах. Доку я потихоньку читаю.
139 2626110
>>26035

> TS


JS...

Можно покостылить и сделать геттеры на прототипе итерируемыми.

Object.defineProperty(Example.prototype, 'b', { enumerable: true })

for (const key in instance)...

for key in перебирает поля прототипа если они помечены enumerable

>>26015
Что значит приходит кнопка? Очень интересно, но ещё меньше понятно.
140 2626128
>>26110
Оба варианта работают, но, как ты и говоришь, выглядит убер костыльно. Не понимаю, почему так решили разработчики, не моего ума дело :3 Спасибо
image.png3 Кб, 240x30
141 2626158
Анон, зачем вот это пишут в функциях? Что это означает?
142 2626161
>>26106
Относительно недавно (в 13 версии) добавили layout'ы. Лейауты не ререндерятся, в них можно заворачивать компоненты/страницы на роутах.
https://nextjs.org/docs/basic-features/layouts
143 2626163
>>26158
Обычно так обозначают аргумент, который не используется в функции.
144 2626164
>>26163
а зачем это нужно?
145 2626166
>>26163
просто нагуглил такое
JavaScript doesn't do parameter-count checking

Тогда не понимаю, зачем такая запись?
146 2626167
>>26158
Тут обычно 2 варианта:
1) ни нужно, но нужно принять параметр, чтобы использовать другие параметры в функции
2) переложат _ как есть без модификаций

Изредка, может быть договорённость в условных мапах и иже с ними на массивах использовать _ для униформности
147 2626170
>>26110
Ну имеется ввиду не кнопка приходит, текст для спана который внутри кнопки.
148 2626176
>>26164
Например метод массива map передает в функцию три аргумента currentValue, Index и array, если тебе нужно только значение, то просто пишешь функцию вида (v)=>{} и успешно проебываешь два остальных аргумента. А вот если тебе нужен первый и третий аргумент, то придется второй тоже принять, вот чтобы его пометить как ненужный его обычно обзывают _, пишут функцию вида (v, _, a) => {}.
149 2626196
>>26167
>>26176
ок спасибо понял
150 2626197
>>26170
Я всё ещё не могу распарсить что тут написано >>26015 но по-моему ты только что TodoApp.
151 2626202
>>26110
Кароч примерно такая схема

const Text = () => {
const [data, setData] = useState([{
text: "",
textForButton: ""
textVisibleAfterClickButton: ""
}]);

let i = 0;

useEffect(
//здесь первый запрос на сервер при заходе на страницу и что важно ссылка такая `.../api?id=${i}`
i = i + 1;
)

return (
<p>data.text</p>
<button><span>data.textForButton</span></button>
<p>data.textVisibleAfterClickBurton</p>
);
}

и вот мне надо чтобы после клика на кнопку производился новый запрос на сервер, но как уже понятно по параму = 1.
С него приходит новый жсон который также идёт в дату.

А на странице это должно быть примерно так:

зашёл на страницу первый раз и увидел:
- текст 1
- кнопка 1
- текст который появляется после нажатия кнопки (пока невидим) 1

нажал на кнопку на странице:
- текст 1
- кнопка 1
- текст который появляется после нажатия кнопки (уже видим так как нажал) 1
- текст 2
- кнопка 2
- текст который появляется после нажатия кнопки (пока невидим) 2
151 2626202
>>26110
Кароч примерно такая схема

const Text = () => {
const [data, setData] = useState([{
text: "",
textForButton: ""
textVisibleAfterClickButton: ""
}]);

let i = 0;

useEffect(
//здесь первый запрос на сервер при заходе на страницу и что важно ссылка такая `.../api?id=${i}`
i = i + 1;
)

return (
<p>data.text</p>
<button><span>data.textForButton</span></button>
<p>data.textVisibleAfterClickBurton</p>
);
}

и вот мне надо чтобы после клика на кнопку производился новый запрос на сервер, но как уже понятно по параму = 1.
С него приходит новый жсон который также идёт в дату.

А на странице это должно быть примерно так:

зашёл на страницу первый раз и увидел:
- текст 1
- кнопка 1
- текст который появляется после нажатия кнопки (пока невидим) 1

нажал на кнопку на странице:
- текст 1
- кнопка 1
- текст который появляется после нажатия кнопки (уже видим так как нажал) 1
- текст 2
- кнопка 2
- текст который появляется после нажатия кнопки (пока невидим) 2
152 2626219
>>26202
Если тебе нужно значение счётчика держать между рендерами, используй для этого useState.
Твой let i на каждый рендер заново инициализируется в ноль.

const [id, setId]= useState(0);

useEffect(() => {
request(`api/${id}`)
// setData
}, [id])
С зависимости, чтобы запрос дёргался на изменение id.

В обработчике на кнопку делаешь setId(id => id + 1)

Состояние обновилось, на следующем рендере имеем id = 1. id поменялся => запустился useEffect с запросом
153 2626221
Бля анонсы, в офисе на новой работе просят дресс код, какие брюки или что купить чтоб не умирать сидеть 8 часов, а то в джинсах пизда некомфортно
154 2626224
>>21834 (OP)
че то я запутался в реакте
я могу писать классовые компоненты в 2к23
какие либы юзать для роутинга/стора
155 2626234
>>26161
Ок, спасибо.
156 2626284
>>26219
Спасибо

Сорри, если тупой вопрос, но все же... Так а при перерендере старый текст и тот который появляется после нажатия на кнопку не будет пропадать?
157 2626294
>>26284
Я вижу у тебя в data массив с объектами.
data - состояние компонента в данном случае, которое "переносится" между рендерами.
После изменения id ты просто можешь добавлять новый объект в массив.
Сорта:
useEffect( async () => {
const response = await fetch(`api/${id}`)
const newEntity = await response.json() // новый объект с бэка

setData(state => [...state, newEntity]) // новый объект в конец массива
}, [id])

Дальше просто по своей дате в return проходишься через map и отрисовываешь как надо

Но вообще да, ты делаешь суть TodoApp
158 2626321
Мужики подскажите пожалуйста.
Блог на нексте, хочу сделать страничку с выводом всех статей, но чтобы подгружались постранично. Начал проект с App папкой и подходом client\server компоненты, но я так понял что никак из клиент компоненты не передать значения в серверную?
Или это всё хуйня и надо через __апп делать?
159 2626326
>>26321
Я так понимаю что просто на реакте и с нормальным бэком, я бы бед не знал и state на каждую залупу бы уже навешал,но с некстом чет не догоняю как взаимодействие клиент компоненты и серверной установить
160 2626331
>>24483
Что по ГОшке думаешь? Хочу в фуллстека перекатиться и далее постепенно на бэк. Или для фронта онли нода без других вариантов?
161 2626351
Вопрос по гиту, есть какой-то вариант между аккаунтами переключаться? Gitlab или gitlens в vscode даст такую возможность? Или мне блять придется каждый раз удалять аккаунт в диспетчере учетных данных и заново входить в нужный аккаунт?
162 2626353
>>26321
А,разобрался всё таки,нужно было всего лишь в клиент компаненту пропсом передать серверную
163 2626361
>>23223
forEach...forEach...forEach...if...if...if...if
Земля стеклобетоном тому, кто потом этот кал говна вилкой рефакторить будет или дорабатывать функционал придется.
Мало того, не забывай, ты на иъёбства с чатгпт и свое время потратил
164 2626365
>>26351
Нашел вариант через ssh ключи аккаунты менять, попробую, но если анон знает - мониторю реквесты
165 2626376
>>26221

>офис


>дресс-код


Сочувствую
166 2626381
Написал такую кнопку. Она имеет свои стили, раньше я при наличии customClass добавлял еще 1 класс рядом с основным, но тогда нужно все писать через !important, пришлось переписать таким вот грубоватым способом как на пике, из минусов дохуя лишнего CSS кода на кнопках где требуются правки в стилях.
Как выйти из ситуации? Почему класс модификатор ниробит без !important?
да, я тупой
167 2626386
>>26381
Сделай основной класс дефолтным и его стили перезаписывай другими классами. В чём проблема? Я бы посоветовал передавать классы массивом и .join(' ') или пустой массив, если нет классов, но за такое тут обоссут. Алсо, есть библа с гибким применением.
https://www.npmjs.com/package/classnames
168 2626389
Я не смогу в чилдрен пропсу пропихнуть?
Screenshot 2023-02-28 at 23.32.20.png111 Кб, 1388x604
169 2626391
>>26386

>передавать классы массивом и .join(' ')


Спасибо анончик, работает.
170 2626392
>>26389

>Я не смогу в чилдрен пропсу пропихнуть?


Возможно пришло время учить редакс.
171 2626396
>>26392

А можно в двух словах практическую его полезность? Перед тем как я погружусь в его документацию
172 2626398
>>26391

>Спасибо анончик, работает.


Ёбанный быдлокод, ааааа! У меня кровь из глаз течёт, расстрелять бы или дать пизды за такую писанину!
173 2626405
>>26398
Похуй, все равно не работает. В одном компоненте работает, а в другом только если !important добавить.
174 2626406
>>26398
Пиздец, конечно, но такой код в 99% проектов, где шаблоны или рендер функции содержат выражения и даже операторы

А еще бывает сам устаешь и пишешь километровые компоненты...

мимо шел
175 2626418
>>23223
Толсто. Тебе бы тут такую простыню рублей за 50 накатали, а за 100 - выстроилась бы очередь из желающих. О какой такой тысяче, и тем более шести, ты говоришь?
176 2626427
>>23223

>Тьфу на вас блять. Не зайду сюда больше никогда


Хорошо. Скатертью по жопе!
177 2626476
Почему
"Lala" == true возвращает false? Разве он не должен строку к boolean привести и т.к она не пустая сделать её true?
178 2626477
>>26331
Для фронта вообще никаких альтернатив, интерпретаторы из других языков в жс или васм - игрушки без вакух. Вместо ГОвнеца уж лучше ржавого навернуть, там хоть можно модули к ноде писать.
179 2626478
>>26221
Что неужели никто в офисе не работает?
180 2626485
>>26221
Смотря какой дресс код. Может вы как люди в черном должны одеваться.

Я в клетчатых брюков и кофточке простой гонял.
181 2626488
>>26221
Носи юбку.
182 2626526
>>26476
Нет, не должен.
Если типы аргументов разные, они приводят к числу и потом сравниваются.
183 2626548
Когда открываю селект у дропдауна неправильно вычисляется getBoundingClientRect().height высота при первом открытии, когда второй раз открываешь все нормально, что за хуйня? Получилось пофиксить только добавлением . getBoundingClientRectRect в депсы useEffect, но как-то говном пахнет это
184 2626563
>>26224

> я могу писать классовые компоненты в 2к23


Можешь, но лучше не писать.

> роутинга


Реакт-роутер

> стора


Сильно зависит от размеров аппки. Часто можно обойтись хуками и контекстом.
185 2626580
>>26476
>>26526
Ебать я ахуел. Я всегда думал, что приведение типов if'ом работает так же как и нестрогое сравнение.

const str = 'HUI';
str == true
false
if (str){
console.log('PIZDA');
}

.. PIZDA
186 2626591
>>26580
Надо было вначале делать конвертацию в bool

!!"test" === true

Тогда сработало бы.
187 2626593
Собираюсь писать пет-проект, где будет список элементов, обновляющийся по сокету, график, не большой чатик и, возможно, еще запилю возможность ресайзить блоки (типа такого https://react-resizable-panels.vercel.app/examples/horizontal). Ну и общий стор нужен. Всё это на одной странице. Для CSR идеальный вариант, но мне нужно закрепить знания по Нексту. Нормально ли такое пилить на Нексте? Какие подводные?
189 2626595
>>26593
звучит норм.
190 2626601
>>26580

>Я всегда думал


На основании чего? В документации написано равно противоположное.
191 2626606
>>26601
По поведению. Плюс, я никогда не пользовался нестрогим неравенством, поэтому не знал про такие приколы и думал что нестрогое приводит к типу и просто if также приводит к типу.
192 2626651
>>26606
Документацию-то почему не читаешь?
193 2626703
Какие курсы по фронтедну лучше спиратить? да, я тупой, мне нужно чтобы болванчик на экране мне все рассказывал
194 2626711
Понадобилось на проекте сделать что-то типо всплывающего меню и в других местах это просто вкорячено обычным дивом с маржином, мне не особо понравилось.
Порталы в react вообще используют на реальных проектах?
195 2626725
>>26711
Да, например прокинуть ту самую модалку выше в HTMLDOM
196 2626727
>>26711

>Порталы в react вообще используют на реальных проектах?


конечно, но учитывай что меню может выходить за рамки экрана, поэтому используй floating-ui или react-popper
197 2626772
Встал хуй вопрос. Разбираюсь в нексте. Нашёл глупое тестовое, просто отрисовать компоненты. Прилетает с апихи объект с пропсами, там ссылка на картинку карточки. Эту картинку я отрисовываю компонентом Image from 'next/image'. Картинки разных размеров, я заведомо не знаю каких (да, да, хуета. в нормальном проекте картинки все в папке, с размерамм и т.д). Компоненту Image надо прокидывать размеры для того, что бы он резервировал место под картинку в разметке. Вот что я придумал

Логику вычисления ещё подкорректирую. Пока, просто два столбика карточек и ширина картинки примерно равна ширине карточки
width={winSize < CSS_SIZES.WINDOW_MAX_SIZE_MIN_MEDIA_VALUE ? winSize / 2 : CSS_SIZES.QUEST_CARD_IMAGE_WIDTH}

А в самом компоненте вот такую залупу.

const [winSize, setWinSize] = useState(CSS_SIZES.WINDOW_MAX_SIZE_MIN_MEDIA_POINT_VALUE );

// CSS_SIZES.WINDOW_MAX_SIZE_MIN_MEDIA_POINT_VALUE, сделал переменную, что бы вынести в отдельный хук. в компоненте был window.innerWidth, который можно только в компоненте использовать из-за SSR

const resize = () => {
setWinSize(window.innerWidth);
};

useEffect(() => {
window.addEventListener('resize', resize);

return () => {
window.removeEventListener('resize', resize);
};
}, []);

Как идея? Разбираюсь в ньюансах некста и наткнулся на такую минипроблему с компонентом Image в контексте задачи. Да, хуёво, что на каждую картинку навешивается лиснер, но так под любой размер экрана подгонится ширина.
Снимок.JPG53 Кб, 806x523
198 2626835
Тупо лол. Не знаю, сколько бы я искал такую возможность использования шаблонных строк в доке, но в любом случае, дольше, чем спросить у нейронки. Алсо, я даже не подозревал о такой гибкости тса. Всегда думал, "вот держите нахуй, строки, числа интерфейсы и т.д, если будете мешать всё вместе, то ошибка". Справедливости ради скажу, я и не пробовал экспериментировать.
Ахуенное это ваше чат жпт, быстрый вопрос, быстрый ответ, чего мне не хватало всегда. Код-то хуй с ним, чаще вопросы, "есть ли возможность?", "а как оно работает?" и т.д.
199 2626868
>>26835
Нормальные люди умеют в документацию.
Кстате, этот твой чятжпт обосрался и не сказал про перемножение юнионов.
type Units = 'px' | 'em' |'rem';
type MyType = `${number}${Units}`
200 2626894
в реакте юзать portal для дропдауна у селекта это норма? Просто как-то по уебански звучит вычислять позицию селекта и потом top от верха отсчитывать, особенно непонятно как делать когда этот селект внутри модалки
201 2626895
>>26894
Норма. Только портал сам тебе ничего не посчитает, считать все равно надо. Для этого можно использовать popper-js.
202 2626930
Можно ли как-то сий код переписать используя декларацию функции вместо const handleSubmit....

const handleSubmit = useMemo(() => {
return (orderDetails) => {
post('/product/' + product.id + '/buy', {
orderDetails
});
};
}, []);
Ну как-то типа: function handleSubmit = useMemo(......

Никак не могу привыкнуть к этой фигне, когда функцию в переменную засовывают
203 2626937
>>26895
Да, я понимаю что считать надо, но ведь если допустим в документе, то от window, а если в модалке, то от низа модалки, а если скролл модалки, то это на каждый скролл пересчитывать. Не совсем понимаю вот.

>Для этого можно использовать popper-js.


Спасибо, почитаю!
204 2626989
>>26930
Это называется функция первого класса.
https://developer.mozilla.org/en-US/docs/Glossary/First-class_Function

А как ты хочешь это переписать через функциональное объявление? Кек.
Ну и как бы, как ещё ты будешь хранить ссылку на функцию для мемоизации?
205 2627023
>>26930
(function handleSubmit { return useMemo(...)})()
206 2627029
>>26989
Да спросил прост. А то мало ли, в этом ЖСе чего только нет
Я когда после Питона начинал первый код писать, просто офигевал от всяких альтернативных синтаксисов

>>27023
Жестяка...
207 2627032
>>26989
функция высшего порядка это называется, когда функция как аргумент передается.
А че они про присвоение в переменную написали хуй пойму, у них же самих это называется function expression.
kill-it-with-fire-kill.gif1,3 Мб, 300x224
208 2627095
>>27032
Ну тут как бы, есть возможность положить в переменную функцию => JS имеет функции первого порядка.
Функция возвращающая и/или принимающая функцию - функция высшего порядка, как ты и сказал.

>>27023

> IIFE


пик стронли релейтед
А вообще, функцию возвращает функцию, как минимум чтобы было по реактовским правилам этот должен быть хук читай: нейминг, или внутри IIFE оно стриггерится?
Плюс результат всё ещё надо положить в переменную. Видеть такое прямо в пропах компонента я точно не хочу.
Вообще, когда я думал как это закостылить, в голову пришёл другой костыль, но отдаю победу тебе
209 2627159
>>27023
Разве так можно? хуки же сверху должны быть?
210 2627167
>>27159
по идее должны быть можно, если он вызывается всегда, а не внутри какого-то условного оператора. Главное чтобы порядок хуков сохранялся во время повторного вызова компонента.
211 2627217
>>23567
Поссал на шарпея.
212 2627700
Как в несте получить данные о том, какая тема у юзера выбрана? Хотел через useEffect в _app получить данные из локалстореджа (и там же тема подключается к приложению, поэтому там же хочу менять тему, если пользователь переключит её, что бы тема для всего приложения сразу менялась), но window.addEventListener('storage', fn); срабатывает только на удаление из стореджа. Что я делаю не так? Как лучше сделать?
213 2627715
>>27700
а зачем тебе подписка, почему просто localStorage.getItem не можешь сделать в useEffect'e?
214 2627721
>>27715
Я по кнопке меняю статус темы в сторедже. Хочу что бы кнопку нажал - сторедж поменялся - поменялась тема приложения (которая подключена в корне приложухи в _app)
215 2627802
>>27700

>нест


>useЕffect


Дали им редукс, так нет же, будем с событиями пердолиться.
216 2627863
>>27802
Как с редуксом сохранить состояние выбранной темы, после закрытия, а потом открытия вкладки?
217 2627880
>>27863
Подписаться на изменения в сторе и писать в свой локалсторадж.
218 2627895
>>27880
И нахуя, если есть нативный? Советы даёшь пиздатые, спасибо.
219 2627941
>>27895
Ну и трахайся тогда сам со слежкой за локалстороджем.
220 2627948
>>27941
Так ты предлагаешь для одной микрофитчи тащить либу. Ты ебанутый?
221 2628030
>>27948
Я тебе предлагаю делать нормально, чтобы изменение состояния приложения ложилось в хранилище отдельно, а не так, что ты сначала сохранил куда-то, потом чешешь репу как настройку обратно подсосать. Сейчас у тебя локалсторадж, завтра куки, послезавтра - база, каждый раз будешь изобретать костыль?
Не нравится редукс - выбирай другой магазин, тыщи их.
image.png47 Кб, 767x349
222 2628061
>>27700

> Что я делаю не так?


Не читаешь документацию, как и все в этом треде.
Почему ты ее не читаешь, можешь объяснить?
223 2628226
https://codesandbox.io/s/blissful-wind-15wr3n?file=/src/App.js

Почему когда я открываю dropdown он расширяет модалку?
Z-index не помогает
image.png5 Кб, 189x153
224 2628288
>>28226
Всмысле? А что должно быть?

или ты хотел чтобы это так было?
225 2628306
>>28288
Я хотел чтобы когда селект внизу модалки, его опции поверх модалки открывались и за границы модалки выходил
IMG20230303140954601.jpg13 Кб, 688x517
226 2628332
>>28306
Типа вот так
227 2628340
>>28332
position
@
relative
228 2628422
Че такое дескрипторы?
229 2628437
>>28030
Я просто изучаю некст, и как передавать данные с клиента на сервер и т.д. У меня банальное приложение, которое отрисовывает несколько карточек. Библу подключить можно в любой момент. Хотел использовать нативные вещи.
>>28061
Умел бы я читать.jpg
230 2628505
Как вы делаете модальные окна на реакте? Как анимировать закрытие окна, если оно удаляется из дома или делается display none? Оба случая срабатывают сразу и transition не успевает отработать
232 2628521
>>28519
Во вью это встроено в сам фреймворк кстате
233 2628523
>>28519
Спасибо. А какие альтернативы? В вью тоже через внешнюю либу приходится это делать? А в относительно новых инструментах, особенно svelte? Почему-то думал, что такое можно делать без сторонних библиотек.
234 2628524
>>28521
Тоесть, если мне это не надо, то вуе все равно насрет этим в бандл?
235 2628525
236 2628530
>>28524
Тебе анимации не нужны? Твоя специальность UI для незрячих?
237 2628532
>>28530
А если серьезно то во вьюжс компилятор шаблонов делает кучу оптимизаций, так что если ты не засунешь транзишен в шаблом то и в бандле транзишена не будет, а дальше тришейкинг бандлера работает
238 2628535
Может кто-нибудь написать скриптик для скрытия всех тредов в /b, кроме webm тредов (желательно ещё музыкальных тредов)? Вам практика, а мне изоляция от потоков дегенеративного говна.
239 2628557
>>21854
схуяли вью выше реакта?
Я думал реакт более гибкий и востребованнее
240 2628559
>>28535
может просто не будешь заходить на двач?
241 2628561
>>28559
Это слишком просто.
242 2628625
Какая же параша, этот ебучий фронтенд. Я хуею. Читаешь доку "нашей прогрессивной, удобной, 'всё есть' библиотеки", натыкаешься на "а для фитчанейм, мы советуем использовать наш 'суперудобный пакет залупа 3000. Просто установите залупа 3000 и внесите вашфреймворк.конфиг эти три строчки'.
Устанавливаешь залупа 3000, вносишь три строчки в конфиг, запускаешь - миллион ошибок в консоле, нихуя не работает. Заходишь на сайт фреймворка, там тоже самое "три строчки в конфиг и всё". И так со всем. Ситуации, где я просто сделал все шаги из "getting started" и всё заработало, можно по пальцам сосчитатью. Вы ну не вы, ананасики,а разрабы пакетов либо делайте рабочие пакеты, либо более детальную документацию, я хуй знает.
#Горижопа.
243 2628631
>>28535
Раз куклу ты поставить не можешь, от зависимости избавиться не можешь, то только так >>23223
244 2628638
>>23223
Т.е. я правильно понимаю

>чатгпт я буду 3 дня объяснять что мне надо


>живому человеку — не буду


?
Ну с такими софтскиллами тебе точно перезвонят.
245 2628658
>>28625
Ты еще ембедед не видел, там +1000 к жопагорению. Написал криво код - сгорела плата нахуй
246 2628671
>>28658

>Написал криво код - сгорела плата нахуй


Ну это личная ответственность пишущего, от такого не особо горит. Типа "сам виноват, хуёво продумал", а тут ты просто по мануалу все шаги делаешь, тупо копипастишь необходимый код и не работает. Ещё горит с необходимости устанавливать доп. библиотеки. Блять, я установил ваш пиздатый реакт! Нет, установи ещё вот этот пакет, вот этот пакет, жопу подтирать этим пакетом, смывать говно этим пакетом и т.д. Ну да похуй.
247 2628735
Пацаны, как у вас аналог OpenGL\SDL называется? Хочу NES эмулятор на чистом жс написать.
249 2628765
>>28754
Сяп.
Да просто так. Ну и в качестве портфолио
250 2628832
>>28340
не понял о чем ты все равно
251 2628840
>>28332
https://codesandbox.io/s/headless-dew-shdt5x?file=/src/styles.css
Я понял что мешает overflow: scroll, как только я его удаляю дропдаун нормально выходит
252 2628876
>>28557

>схуяли вью выше реакта?


библиотека не может быть выше фреймворка.
Безымянный.jpg50 Кб, 606x368
253 2628937
>>21834 (OP)
Сап наносеки, изучаю бэм подскажите по пику правильно ли я неймаю на примере хедера. Вот есть блок хедер в нем лемент
header__content внутри него header__naming -> header__naming-icon или правильнее будет назвать header-icon?
254 2628962
>>28671
Ага, только учти, что тебе спецификацию на железо выдал производель и если там чего-то нет - то ты можешь очень долго выяснять детали, а сроки горят. Поэтому есть желание попробовать решить так, как на другой железке на поколение младше работало или искать в интернете, а гуглить схемы - это тебе не джаваскриптовые ошибки на стаковерфлоу искать.
255 2628964
>>28937

> изучаю бэм


Нахуй не нужон бэм ваш.
256 2628969
>>28937
Похоже на правду. У элементов не подэлеметов, если есть вложенные елементы то они все к блоку относятся, поэтому у всех элементов один постфикс block-name__element-name
а не несколько block-name__element1-name__element2-name
257 2628976
>>28964
Вот у тебя СПА с зашитыми в компонеты стилями, тут вдруг приходит Кабан Кабаныч и говорит нечеловеческим голосом
- Сычов. Купили мы Быстрикс24, лендосы будем делать там, чтобы вести клиентов в воронке продаж. Захуярь в них наш копроративный стиль!
16777958309750.png883 Кб, 1080x1260
258 2629006
>>28976

> быстрикс 228


Вытекаю с работы JS треда в php тред.
259 2629033
>>29006
Поридж малиновый, Кабаныч не твоя мамка, он не спросит на чем тебе нравится очередной фронтенд делать. Или будешь по нищим галерам бегать, убегая от задач серьезногу бизнесу.
260 2629045
Какие книги есть по оптимизации html\css\js с этими вашими рефлоу? На амазоне поискал, чет ничего хорошего.
261 2629109
>>29045
Перестань читать книги и начни читать блоги разработчиков браузеров и движков.
262 2629177
>>29109
Посоветуй какие-нибудь?
image.png7 Кб, 388x543
263 2629180
Котаны, помогите, пожалуйста, ибо я уже заебался гуглить не то/не находить решение

Мне нужно сделать кнопку, при нажатии на которую справа выплывет окошко с текстом (примерно изобразил на пике)
Я понимаю, что надо эвент клика, #кнопка:after, но дальше неебу, совсем тупик
Помогите, пожалуйста!
264 2629206
>>29180
хуево гуглил.

нахуй там афтер?

кнопка.евентклика(клик, евент => {
блокТекста.добавляешьКласс(Актив)
})

ну а если нужен афтер то этой же кнопке и дававй акитив, у кнопки есть стили и эти стили афтера идут у актива.
265 2629211
>>29180
Если ты не тот анон с дропдауном, то вот https://html5css.ru/css/css_tooltip.php первая ссылка в гугле с летсдуит, не стукойте.
А так идея как с дропдаунами.
266 2629225
>>29211
nvm, жопой читал
267 2629232
>>28976
Сынок, я не в РФ. Конечно, если Джон Бор скажет что БЭМ нужен - то я буду делать на этом говне, или на любом другом но пока он что-то популярностью не пользуется.
Нужна помощь с фронтом 268 2629237
Я быкенд перешедший в девопс с 4 годами опыта работы и еще более продолжительным бекграундом диванного программирования. Для реализации своих задумок не хватает знаний, а вернее опыта, по фронту. Я в принципе знаю всю херню HTML, CSS, JS, делал какие-то простые и даже более-менее сложные верстки из говна и палок, писал на JS, даже применял Vue и bootstrap. Но если быкенд с апишкой на джанге я смогу поднять за 30 минут, то сверстать страничку у меня займет 1-2 дня, особенно если ебаться с инструментарием на ноде. И реализовано это все будет кое-как, с кучей костылей на CSS. Вощем испытываю трудности, а хотелось бы набить руку, создать нейронных связей под это.

Я более-менее понимаю план действий, мне нужен скорее support & assistance. Сейчас двигаюсь по роадмапу https://roadmap.sh/frontend в котором половину всего я и так достаточно глубоко знаю, а про остальную половину имею представление.
Посоветуйте каких-нибудь специальных макетов для обучения верстке от простых к сложным. Может знаете какие-то ресурсы, которые мне будут полезны. Если захотите поменторить, вот телега @perdaxx
269 2629251
>>29237
Пчел, ты двигаешься в обратном направлении. Верстают пускай вкатуны-джуниоры, а ты лучше развивайся дальше в бекенд и инфраструктуру. Базы данных там, клауд ф-ции, лоад балансеры, кластер разверни и тд. Нахрен тебе нужно кнопки красить?

> быкенд с апишкой на джанге я смогу поднять за 30 минут, то сверстать страничку у меня займет 1-2 дня, особенно если ебаться с инструментарием на ноде. И реализовано это все будет кое-как, с кучей костылей на CSS


Это норма.
270 2629266
>>29251
Мне для себя нужно. У меня периодически возникают идеи которые хочется реализовать, вот например из последнего - сделать инструмент управления трафиком, с роутингом трафика между различными прокси / VPN, с мониторингом, блекджеком и прочим. Писюн падает когда представляю как я это все верстать буду
271 2629353
>>29237
Есть же UI киты, попробуй из них собирать страницы
272 2629378
Аноны, такой от залетыша. Несколько лет назад еще существовал стереотип, что во фронте постоянно меняются технологии, и то, что было модным сегодня, через годик все уже могли забыть. Как сейчас с этим стереотипом? Вроде реакт, ангулар и вью уже много лет у вас и ничего больше нового.
image.png300 Кб, 2062x1009
273 2629394
>>29237

>сверстать страничку у меня займет 1-2 дня


ну, это норм.
т.е. у скилового версталы вротендера простенькая стр занимает +- день, но на более сложные уходит и больше.

при этом, как я понял, ты делаешь для себя, т.е. ты не обременен необходимостью делать пиксель перфект.
пиксель перфект же - это когда ты должен сделать верстку идентично как на макете в разных размерах.
по этой причине верстка не такая уж и быстрая работа.

+ васянские либы, которые приходится пердолить под разные устройства, т.к. внезапно, они имеют кучу кастылей и условностей.

так что не совсем ясно зачем тебе ментор. и не совсем понятен бугурт про долгую верстку.

допустим на пик я бы взял 3 дня. самая простая верстка с простейшей тестовой логикой. скорее всего управился бы и за день, но нахуй об этом знать пму?
274 2629400
>>29266
Так начни делать просто. Сначала консольный интерфейс, веб оставь на потом.

> Писюн падает когда представляю как я это все верстать буду


Это норма.
275 2629415
Аноны, я столкнулся с проблемой. У моего скрипта есть класс которой выполняет всю работу. Я могу нажимать на кнопку, чтобы работа начиналась или прекращалась. Однако, чтобы работа прекратилось, я должен подвязать все методы моего класса выполнять проверку на флаг.

Иными словами мне придется каждый раз в теле каждого метода перед его выполнением проверять
if (this.canceled) { return }

Но чё-то такое себе. А если мне к примеру придется как-то изменить то что внутри курли брейсов {}? Есть в JS'е декораторы как в питоне, чтобы я мог обернуть все свои методы типо
@stopcondition
function start() {}

@stopcondition
function doThing() {}

?

Как вообще лучше обустраивать отмену работы какой-то хуйни?
276 2629416
>>29415
Обосрался немного, у метода не будет function, это же метод.
277 2629438
>>29415
https://babeljs.io/docs/babel-plugin-proposal-decorators
https://www.typescriptlang.org/docs/handbook/decorators.html

Вообще странно, что ты задался мыслью делать проверки только внутри класса. То есть в UI ты никак не отображаешь процесс выполнения и кнопки не повязаны к текущему состоянию экземпляра? То есть кнопки всегда доступны к нажатию?

Ну а вообще, декораторы прикрутить можно, может однажды они уже докатятся в одну из версий JS нативно. В принципе, ничего плохого не вижу, если ты хочешь добавить валидацию внутри класса, но что-то есть чувство, что что-то пошло не так.
278 2629440
>>29237
Тебе дизайн важен или пох?
изображение.png120 Кб, 800x600
279 2629444
>>29440
Более-менее важен. Люблю Material UI, чтоб вот эти анимации форм/кнопок были как в ведроиде. Я так однажды сделал неплохой интерфейс с помощью Vue + Material UI, 3 дня на это потратил
280 2629445
>>29438
Мне тайпскрипт не подходит, у меня юзерскрипт. Там приходится на чистом жсе всё писать.

У меня по сути одна кнопка условно "Начать работу" при нажатии на которую совершается целый пласт действий с разными методами. В любом момент пользователь может нажать "Прекратить работу" и мне нужно прервать все действия и окатить до начала. По сути хватает обычного ретурна, скорее всего, по крайней мере с ретурном вроде как работает всё. Но ощущение костыльности присутствует.
281 2629450
>>29440
Ох, вспомнил как пытался сделать вращающуюся кнопку обновления, пиздос как наебался с тем чтоб она ровно вращалась и стейт "вращается/не вращается" нормально отрабатывал. Я кажись так и не смог нормально останавливать вращение
282 2629468
>>29445
Можно сделать обёртку и на ванилле.
Либо функцию с предусловием и костыль вида
leggo() {
this.isRunnable() && doTheJob() // IIFE
}

isRunnable() { ... }

Если по отмене, можешь посмотреть вот это
https://developer.mozilla.org/en-US/docs/Web/API/AbortController
283 2629477
>>29468
Контролелр прикольная штука, благодарю.

А обертку в каком виде? Типо написать декоратор, а потом вручную после того как создал инстанс класса прописывать инстанс.метод = декоратор(метод)? Можно конечно, но хз. А с функцией я не очень понял к сожалению.

Сейчас я пока решил тупо вставлять if (this.isCanceled) { return } в начало, пока работает вроде.
284 2629498
>>29477
Декоратор в простом виде можно накостылить по тип такого:
deco(func, ...args) {
console.log("'decorator'")
func.apply(this, args)
}

Принимает функцию и произвольное количество аргументов, вызывает функцию в контексте объекта, с которого был вызван.

В твоём случае может быть что-то вроде:

deco(foo) {
console.log("deco checks");
foo.call(this)
}

hueta(text) {
this.deco(function () { console. log(text)})
}

С функцией если, то у тебя будет отдельный метод в котором будут проверки на возможность выполнения, например
isRunnable() { return this.isCanceled }
Сейчас здесь ничего нет, одно поле для ИФА, но потом может появиться дополнительная логика. В этом случае достаточно будет поправить только его.
Этот метод ты вызываешь по цепочке
this.isRunnable() && (function () { actualJob here }) ()
Либо если это переписать, аналогично на ифы
if (this.isRunnable()) {
do actual job here
}
284 2629498
>>29477
Декоратор в простом виде можно накостылить по тип такого:
deco(func, ...args) {
console.log("'decorator'")
func.apply(this, args)
}

Принимает функцию и произвольное количество аргументов, вызывает функцию в контексте объекта, с которого был вызван.

В твоём случае может быть что-то вроде:

deco(foo) {
console.log("deco checks");
foo.call(this)
}

hueta(text) {
this.deco(function () { console. log(text)})
}

С функцией если, то у тебя будет отдельный метод в котором будут проверки на возможность выполнения, например
isRunnable() { return this.isCanceled }
Сейчас здесь ничего нет, одно поле для ИФА, но потом может появиться дополнительная логика. В этом случае достаточно будет поправить только его.
Этот метод ты вызываешь по цепочке
this.isRunnable() && (function () { actualJob here }) ()
Либо если это переписать, аналогично на ифы
if (this.isRunnable()) {
do actual job here
}
285 2629499
>>29498
Вообще классы, методы, можно такую проверку на возможность выполнения вынести в геттер, раз на то пошло
286 2629501
>>29498
И да, я проебался немного, здесь это уже не совсем декоратор, скорее обёртка
1677933880946.png15 Кб, 374x455
287 2629520
>>29498
Окей, понял. Ну в принципе это действительно обертка, декоратор должен возвращать обертку в которой уже перед вызовом основной функции выполняется какая-то фигня.
288 2629657
Во что перекатываться фронту, Express или Nest?
289 2629729
>>29657
Expess подмножество Nest'a
290 2629802
А если бы вам захотелось в собственном скрипте добавить новую кнопку к всплывающей менюшке взаимодействия с постом из куклоскрипта, то как бы вы привязали ивент взаимодействия на эту новую кнопку?

Нужно же как-то узнать с каким постом ассоциирована кнопка.
291 2629806
>>29729
Вообще ты прав, будет логичнее пойти по пути Express -> Nest
292 2629820
>>29802
А где в html'е рендерится менюшка?
1677950391462.png21 Кб, 721x178
293 2629821
>>29820
К сожалению на самом верху древа. Я тоже хотел определить по положению ноды.
294 2629826
>>29821
Я что-то не понимаю. Кнопка, которая относится к посту, не рендерится в шапке поста? Это где такое? Ща на даче посмотрел, там эта кнопка в диве с айдишкой номера поста.
мимо не шарю за ваш куклоскрипт
295 2629828
>>29826
Нет, судя по всему она рендерится на верху древа и через абсолютное позиционирование css'а подгоняется под пост. Мда, боюсь тут придётся сильно костылить.
296 2629906
>>29802
чел, в отладчике "ответить" вот так показывается, попробуй так же
на самой кнопке открытия меню data- атрибут, скорее всего запоминает его глобально при клике или хз какая макака это сочиняла
297 2629908
>>29826
это норма, модальные окна обычно внизу дерева и рисуют, чтобы они поверх всего отображались и быстро добавлялись\удалялись из дома
298 2629917
>>29906
У меня почему-то нихуя не показывается. Только на созданную менюшку ивент навешан.

Ну а то что у тебя на скрине, там скорее всего обращение к локальным переменным, в моём же контексте не будет ни к каким айидникам и намам доступа. Глобальной переменной такой нет. Хуй знает как адекватно без изъебов получить пост при кнопке.
299 2630018
>>29917
Исходники куклоскрипта посмотри, как он хэндлит ивенты этих менюх.
300 2630020
Что не так с этой стрелочной функцией? Почему при переписывании её в обычную функцию, она не работает? Более того - она перестаёт работать даже если просто добавить () перед =>. Какого хуя? Это точно стрелочная функция вообще?
301 2630025
>>29917
да, ты прав, там замыкание при клике на кнопке
302 2630027
>>30020
Попробуй let user = (item) => { return users.find(item).id == 1 }
Питухонер мимокрок, на калжсе почти не писал
303 2630029
>>30020
find принимает функцию в качестве аргумента, а ты че насрал?
функция.jpg24 Кб, 414x243
304 2630031
>>30020
Пиздец нахуй, разобрался. Точнее решил прочитать дальше строчку ниже в учебнике. Найс объяснение, ставлю лайк. Сперва сотворим хуйню, а потом расскажем, что было сделано.
305 2630034
>>30029
Да теперь я уж понял, что функция просто передаётся в качестве аргумента.
306 2630044
>>30031
А потом ты познаешь мир с "вот вам удочка под видом базуки, дудоньтесь сами". А ты и уже сгорел, кекв.
307 2630045
>>30025
вообще можно и на саму кнопку евент повешать, потому что таймаутом все равно новую таску в конец добавляю, поэтому еще проще
308 2630046
>>30025
Я так понял чтобы у меня это работало я должен сделать по сути также, но первый ивент навесить onmouseover ну и в свою модаль прикрепить кнопку с сохранением поста после таймаута 100мс к примеру, чтобы модаль успела появиться.

Я только не понял зачем ты < 0 проверяешь а потом ретурнишь, это чтобы избежать что?
309 2630047
>>30046
Хотя не, тогда onmouseover у меня будет спамить миллиард кнопок, хуйня идея.
310 2630050
>>30047
Хотя в теории можно проверку сделать есть ли эта кнопка уже или нет. Придется мутейшен обсервер навесить чтобы новым постам ивент прибавлялся тоже. Чет немного гемор, но это лучше чем я представлял.
1.jpg39 Кб, 520x312
311 2630064
Почему второй alert выдаёт -1?
312 2630076
>>30064
В функцию надо передать аргумент, который обрабатывается.
Может оценишь вариант подумать пять сек, а не спамить вопросы на каждый пук?
313 2630079
>>30076
Я в метод передал функцию в качестве аргумента. Хуле ему не нравится? Почему он не может Васю найти?
314 2630082
>>30064
Посмотри что передаётся в findIndex, что передаётся в то что передаётся в findIndex, посмотри что ты написал в том что передал в findIndex. Посмотри описание findIndex на mdn.

> найти индекс в users, users (массив).name (undefined) == "Уасиа"



кекусы
315 2630083
>>30079
Ну ты пиздец.
64H7Qxgj4fI.jpg45 Кб, 600x586
316 2630085
>>30082
>>30083
Блять, какое же говно это ваше программирование.
317 2630086
>>30045
Найс, анон, оно работает, спасибо. Не знал что mouseover только один раз екзеклютится. Я думал каждый раз когда по элементу буду проводить он каждый раз будет привязанную функцию запускать.
318 2630090
>>30086
а почему ты на клик не хочешь привязаться? Если кликнешь - модалка точно появится, а если просто водишь - не факт.
319 2630091
>>30090
Так у меня, как ты можешь заметить на видео, менюшка автоматически открывается, так в кукле сделано. На клик нет смысл привязываться, не особо получится. Каждый раз когда я навожусь, менюшка открывается.
2.jpg35 Кб, 543x272
320 2630095
>>30082
Даже если исправить на user.name что в ретёрне, что в алёрте, нихуя не меняется - возвращается андефайнд. Блять, да какого хуя, всё же нормально выглядит.
321 2630096
>>30095
Ехал юзер через юзер.
322 2630097
>>30090
Анон, а ты не знаешь почему я всплывающую форму не могу открыть? Я знаю что у свг нет клика, поэтому диспатчу ивент, но он не хочет.
323 2630098
>>30095
Довен, твоей аргументной функции файнд будет передавать значения на проверку, а она нихя не принимает.
324 2630099
>>30095
>>30064
Бля, ты какую-то хуйню пишешь. У тебя ошибка в логике, надо было писать

users.findIndex(function findName(element) {
return element.name === 'Вася';
})

Тогда бы заработало. Либо

users.findIndex(user => {return user.name === 'Вася'})

Так тоже сойдёт.
325 2630103
>>30095
Наркоман чтоле?
Чем твоя стрелочная функция отличается от обычной, которую ты пытаешься передать?
У стрелочной функции нет названия, ты принимаешь параметром user элемент массива.
Во втором случае ты обзывает функцию user и нихуя в неё из массива при проходе findIndex не принимаешь.
Нарабатывай навыки дебаггинга и гугления. Суй хотя бы промежуточные console.log и выводи значения переменных если не понимаешь что там не так.
Я тебе предложил посмотреть findIndex на mdn. Ты посмотрел? Нет. А там расписана сигнатура функции и есть примеры.
Навыки гугления я за тебя тоже не смогу наработать.
326 2630111
>>30097
Может потому что через jquery эвенты накинуты, попробуй через него и вызывать.
Кстати, новые посты сами подпишутся на эвент, если через него сделашь.
327 2630113
>>30097
БЛЯТЬ АНОНЫ ОНО СРАБОТАЛО

Мне страшно нахуй, эта хуйня отлично понимает меня, запоминает что было до этого и МОМЕНТАЛЬНО генерирует ответ. Я раньше не пользовался чатгпт, зарегал на всякий случай. Сейчас решил воспользоваться и охуел.
328 2630114
>>30111
Анон, мне сетка подсказала таким образом ивент инициализировать. Я не понял нихуя почему это сработало, но оно работает.
1677971591984.png42 Кб, 841x553
329 2630115
>>30113
Забыл показать третий вопрос свой
330 2630272
>>30111
Анон, я сейчас понял что я хуйню пытался сделать и можно просто спокойно на ссылку кликать, а не свг, эффект тот же почти, а также проще.
331 2630277
>>30111
Ну и к слову по какой-то причине триггер не работает. А штука которую чатгпт дала и которая работает на свг почему-то отмечена как устаревшая. Как тогда не депрекейтед способом вызвать клик событие интересно на конкретно этот свг?
332 2630350
>>29225
>>29211
Ну в принципе, может сработать
Спасибо, анонче
333 2630353
>>29206
Я чет совсем нуб

получается что-то вроде:
btn.addEventListener (click, event => {
textBlock.addClass ( а что сюда добавлять? )
})
334 2630518
Заканчиваю через пару месяцев отработку барщины ученический на галере, хочу спрыгнуть на продукт. Реально полуторагодовалому вкатышу попасть в это ваше МЯСО фронтом (ангуляр и реакт)? А то я с алкоритмами не очень, зато английский Б2.
335 2630579
>>30518

>Реально полуторагодовалому вкатышу попасть в это ваше МЯСО фронтом (ангуляр и реакт)?


Нет.
336 2630613
>>30518
Чем тебе на галере не сидится?
2023-03-05 17.11.43 beta.character.ai 7769e57f63d2.png6 Кб, 239x88
337 2630628
promise.then (function(arg1) {console.log('___test___', arg1)});
promise.then (function(arg1) {console.log('___testname___', arg1.name)});
promise.then (function(arg1) {console.log('___test___', arg1)});
setTimeout(function () {promise.then (function(arg1) {console.log('___timertest___', arg1.name)});}, 3000);

Четыре строки подряд. Первая выдает готовый object, в котором естественно заполнено property "name".
Вторая выдает undefined
Третья - опять же готовый object, в котором точно так же присутствует не пустое property "name".
Четвертая сука выдает что я хочу получить, значение property "name".
Чяднт?? Пытаюсь разобраться, поэтому подряд это написал, а понятнее не стало. Если then ждет пока promise не исполнится, почему я не могу получить сразу значение property, но могу корректно получить весь object целиком?
338 2630638
>>30628
Потому что чтобы что-то достать по цепочке, надо это что-то из функции вернуть.
console.log возвращает undefined, его ты и получаешь.
promise.then(function (resolvedData) {
console.log('hurts moe');
return resolvedData.name;
}).then(function (name) { console.log(name) })
339 2630640
>>30628
Покажи весь код, в этих твоих огрызках хуй что понятно.
340 2630646
>>30613
Деньги.
341 2630650
>>30628
>>30638

> console.log возвращает undefined


Проебался. Так то оно так, только ты нихуя не возвращаешь, а это аналогично если написать строке
return; //и тоже вернёт undefined
И да, с этим согласен >>30640
А лучше уж залей в песочницу если тебя гложет что-то. Проёбано форматирование не помогает понять что ты делаешь.
342 2630651
>>30646
В русских продуктах плотят так же или меньше, если что. Если конечно, мы не берём случаи с зарплатой в виде крипты на карту армянского банка.
343 2630659
>>30640
Что-то типа такого.
>>30638
А почему тогда по таймеру setTimeout(function () {promise.then (function(arg1) {console.log('___timertest___', arg1.name)});}, 3000); я получаю что хочу?
Screenshot20230305-175604.jpg257 Кб, 1080x2408
344 2630675
>>30659
Ты делаешь что-то не то.
const p = Promise.resolve({ name: "ahem"})
p.then(arg => console.log(1, arg))
p.then(arg => console.log(2, arg.name))
p.then(arg => console.log(3, arg.nаmе))

На второй строке name на инглише.
На третьей a и e - кириллица
345 2630679
>>30651
Так и моя галера - огрызок в виде российского офиса, сама компания отчалила. И по деньгам уже ниже рыночка, + всякие приколы начались с увеличением интервалов между пересмотрами до года. А год гребли ниже рынка для меня это порядка 200к потерять.
346 2630720
>>30659
Ух бля, нажористо.
347 2630735
>>30679
Ну хуй знает, я как свалил перед СВО с галеры, так за год ничего не апнул. Робота есть и слава богу.
348 2630739
Ананас, надо в общем материалов по бэку на ноде, конкретно NestJS. Есть какие-то достойные варианты может? Документацию глянул, но может есть более концентрированные и прикладные варианты?
349 2630744
>>30739
Куда уж концентрированней.
image.png4 Кб, 288x116
350 2630773
>>30277
у меня работает trigger. Попробуй через MouseEvent.
sage 351 2630789
Открыло. Без всяких легаси функций по типу того инета. Большое спасибо, анон. Запомню что есть такая штука.
352 2630794
353 2630808
>>28876
дурачок что ли? :)
354 2630826
>>23231
что ты несёшь?
355 2630883
А есть в рякте какой-нибудь способ получить ширину экрана до рендера приложения без использования user-agent? Я пробовал через typeof window !== undefined, но там будет ошибка гидрации
useEffect всё-таки вызывается после рендера
356 2630887
>>30883
Адаптивная вёрстка. 2023. Итоги.
357 2630892
>>30887

>Адаптивная вёрстка. 2023. Итоги.


Я не профессиональный разработчик, уж простите
358 2630894
>>30887

>Адаптивная вёрстка


+ мне нужно знать сколько у клиента ширина окна, чтобы отправить ему отрендеренную страницу с сервера nextjs
360 2630921
>>30675
Что за прога?
мимо
361 2630925
Рейтаните вкатусю.

Год самостоятельного обучения. Сейчас стек:
фронт: react на next, mobx, axios, sass;
бэк: express, prisma, postgres.

Пробовал: nest, redux, RTK query (непонтно и попа болит), sequelize, jwt, react из коробки с SSR

Из достойных петпроектов - уродливый но агрегатор новостей, с динамическим роутингом и админкой для создания, редактирования и удаления статей + редактор метатегов для каждой страницы. Админка на jwt токена.
362 2630930
>>30910
useEffect вызывается после вмонтирования, а не до, так что такое не прокатит.
363 2630955
>>25424
лучше не читай, это та еще хуета.
365 2631034
>>30925
Выглядит так будто все описанное ты потыкал но ни в чем толково не работаешь.
366 2631037
>>30894
Так посмотри в реквесте, что там клиент отправляет.
Еще подумай как ты будешь менять размеры при ресайзе?

Это на самом деле делается в css и на клиенте само адаптивно ресайзится по правилам.
367 2631041
>>31012
Благодарю.
368 2631044
Так че такое дескрипторы?
369 2631078
Аноны, а как предотвратить дефолтное поведение textarea внутри формы при нажатии CTRL+ENTER? Проверял на двачерской форме под куклой. Я как только не пробовал, при нажатии ctrl+enter он пытается отправить POST запрос. Однако проблема даже не в том, что он не может предотвратить поведение формы.

Скорее проблема в том что я даже не могу заставить условие event.ctrlKey && event.keyCode === 13 отработать. Оно никогда не отрабатывает у меня в форме. Он работает если сделать иф только на нажатие ctrl к примеру, или enter. А как заставить его отследить ctrl+enter? Он сразу же отправляет форму и не реагирует на условие, как будто ивент просто не проходит.
1678055462803.png27 Кб, 684x136
370 2631079
>>31078
Здесь я обосрался кажись но сути не меняет, он с исправленным вариантом тоже не работает.
371 2631113
>>30353
<button>Click</button>

const btn = document.querySelector("button");

btn.addEventListener("click", (event) => {
if (btn.classList.contains("clicked")) {
btn.classList.remove("clicked");
} else {
btn.classList.add("clicked");
}
});
372 2631114
>>31113
button {
position: relative;
}

button.clicked::after {
content: "clicked content";
position: absolute;
border: 1px solid red;
margin: 0px 10px;
width: 100px;
}
16742167310721.webm1,4 Мб, webm,
888x1116, 0:09
373 2631118
>>31113
На addEventListener ругается, 'Cannot read properties of null'
Уже засунул в windows.onload, перемещал script src и всякие другие танцы с бубном
С чем может быть связано?
374 2631119
>>31118
квериселектор возвращает нулл?
375 2631153
>>31037
ресайз хук уже сделал, а вот как в реквесте посмотреть именно данные окна я не представляю
376 2631154
>>30925
Рисуй год опыта и проси сотыгу на собесе
377 2631168
Бтв, если вы не поняли вопрос, я могу объяснить, только спросите.

Мимо >>31078
378 2631221
>>31168
Выведи в сосноль сам ивент да прокликай его пропертя.
image.png4 Кб, 429x24
379 2631236
>>31119
Нет, addEventListener
380 2631263
>>31221
Ну я на скринах показал как я пытался ивент привязать, при комбинации ctrl enter он не хотел отрабатывать.
381 2631325
>>31263
А мог бы сразу увидеть все свойства события code, key, keyCode, which, ctrl и тпх.
Вместо того, чтобы подбирать комбинацию.
382 2631416
>>31236
у тебя кастомнй тег ("кнопкателеграм")?
383 2631433
>>31416
Да
Ну суть в том, что у меня страница с контактами и иконка телеги, при нажатии на которую я хочу, чтобы выкатывался ник
384 2631443
>>31433
Ты селектишь элемент <knopkatelegram>. Всё точно правильно?

мимо
385 2631445
>>31443
Так точно

всё правильно кроме убого id кнопки, не бейте пожалуйста
386 2631451
>>31445
ну просто если именно ID, то селектор будет иметь вид #knopkatelegram
387 2631452
>>31451
йобаный рот
нет, беда в двойных кавычках, в которые я заносил айди

ну я пень канеш. Спасибо, Аноны!
image.png1 Кб, 477x51
388 2631775
Сап, возможно, кто-нибудь знает как можно реализовать подобное:
при рендере компонента у инпута автоматически выставляется фокус и в нём появляется курсор
389 2631806
>>31775
inputRef.current.focus();
Вроде так, если в реакте.
390 2631850
>>31775

>autoFocus: A boolean. If true, React will focus the element on mount


Забытые технологии предков.
391 2631854
>>31775
"Опять чортики за меня текст вводят и по клавиатуре прыгают"!
392 2631859
Анон, а как быстро находить html элементы в проекте?
393 2631862
>>31859
Имею в виду такую ситуацию, например, нужно отредактировать какой-то элемент, я запускаю локалхост и ищу его классы через код элемента, а потом вставляю в поиск по проекту. Как правильно это делать то?
394 2631881
>>31859
>>31862
А задача то у тебя какая? Делать то что сказано?
Уровень аутизма и технологии и архитектура в проекте могут быть абсолютно разными.
395 2632023
Подскажите,читаю про авторизацию сейчас. Везде jwt токены используются? и реально третий сервер для приемки\отправки этого токена? Или как-то проще? и без заморочек?
396 2632035
>>32023
Куда уж проще, даже пароли в базе не надо хранить.
397 2632076
>>31168
>>31221
Анон, я навесил. Он просто не отрабатывает ивент при ctrl+enter. Что делать?
398 2632077
>>32076
Смысле не отрабатывает?
А кто тебе вон снизу в сосноль тогда пишет?
399 2632078
>>32077
Ну давай видос запишу. Он отрабатывает только одиночные нажатия.
1678131983370.mp43,7 Мб, mp4,
1920x1080, 1:56
400 2632082
Одиночное нажатие: (ктрл)
Одиночное нажатие: (интер)
Комбинация ктрл + интер:
402 2632269
>>32084
Ну значит макака глушит остальные обработчик, если ловит ктрл+ентер.
Попробуй keyup штоле.
16756043165570.mp43,9 Мб, mp4,
576x1024, 0:10
403 2632279
Котаны, я не панимат тему классов
Сейчас пойду смотреть ролики по второму кругу, но всё равно тяжеловато.

Какое практическое значение они имеют? Какие новые возможности открывают классы, например?
В чём фундаментальное отличие классов от просто создания класса через const class = new Class (); ?

Спасибо за помощь
404 2632285
>>32279

>класса


Объекта*
405 2632291
>>32279

Чтобы ООП понять надо джаву изучать, или шарп.
Что рекомендую, кстати, хотя бы в базе.
Концепцию функционального программирования в джаве я начал более-менее понимать окольными путями именно через джаваскрипт, а весьма своеобразную джаваскриптовую логику в свою очередь - через ООП и строго-типовый подход Java и потом TS.
406 2632304
>>32291
Ну я ебал,если честно, возвращаться в Java
А вариант просто изучить TS не канает?
407 2632307
>>32304

>возвращаться в Java



Как-то хуево ты значит ее изучал, если в классах разобраться не можешь.
408 2632317
>>32279
Не звучит так, что ты знаешь что такое прототипы, зачем они нужны в JS и что такое ёбаное прототипное наследование.
Классы не убирают из JS прототипы, но работать с классами в разы приятнее, чем настраивать цепочки прототипного наследования и что-то там довешивать на прототипы.
>>32304
TS не серебряная пуля, которая решает все проблемы JS. Статическкю типизацию добавляет - да, и это охуенно. Классы? Те же классы только ещё и модификаторы доступа и помимо наследования можно реализовывать типы/интерфейсы.
409 2632329
>>32307
Ну, поверхностно, скорее. Сама тема классов нетрудная (ну, наверное), просто яннп зачем такая сложность с кодом, если те же вещи можно сделать проще
>>32317
Хм, интересненько. Я правда не знаю, что такое прототипное наследование, просто прохожу оффлайн курс, на котором мне вкидывают задачи. До этих пор всё было +- понятно, а теперь уже трабл
410 2632480
>>32269
Мне кажется это из-за того что текстареа внутри формы и сам браузер не дает. Мб попробую ещ5
411 2632733
>>32279
Класс это сахар над прототипами и конструкторами. Просто так писать удобнее и на жабу похоже, можно любителей ооп садить на жс писать, авось и не заметят.
412 2633023
>>32269
Да хуйня блять, ничего не выходит. Я не понимаю как это сделать. Мне нужно предотвратить дефолтное поведение на ктрл+ентер, чтобы он не отправлял запрос, поэтому я хочу отловить этот ивент и навесить свой. Чтобы я мог перед тем как пост отправится совершить манипуляции.
413 2633124
>>33023
У меня комбинации с ctrl нормально отрабатывают. Что ты имеешь в виду под "дефолтным поведением"? Попробуй просто ctrl отловить и сделать preventDefault, действия типы выделения будут игнориться, но ctrl enter по прежнему работать.
414 2633131
>>33124
Он отрабатывает ctrl но после него enter уже не отработает а запустит сабмит формы. Я пришёл к тому что тут дело в ивентах нажатия. Нужно работать с самой формой и конкретно ивентом "submit".

Я сейчас всё пытаюсь понять как мне сделать так, чтобы мой ивент отработался до остальных ивентов.
415 2633132
>>33131

>Я пришёл к тому что тут НЕ дело в ивентах нажатия.


Фикс.
416 2633153
>>33131
Тут submit может быть вообще никак не задействовано. Может и просто комбинация отлавливаться, по ней посылаться запрос, много вариантов.

>Я сейчас всё пытаюсь понять как мне сделать так, чтобы мой ивент отработался до остальных ивентов.



Хз, наверно такое и не сделать никак, твой листенер добавится после загрузки страницы, и stopPropagation уже не будет никак влиять. Перехватить базовый addEventListener опять же тоже не выйдет.
1678218482855.png6 Кб, 291x105
417 2633157
>>33153
Я уже выяснил что как раз в сабмите дело. Там навешен jQuery ивент который не останавливается обычным stopImmediatePropagation в addEventListener. Сейчас проблема в другом, он теперь ждёт выполнения моего хендлера (пик) но потом просто зависает намертво и не выполняет отправляет форму.
image.png4 Кб, 484x86
418 2633165
Хочу написать js-консольное приложение, чтобы запускать его из ide добавил start скрипт (на пике). Проблема в том, что если запускать его просто как node . - то оно запускается сразу, а через npm run start или npm start - то оно перед запуском думает примерно 2 секунды. Как правильно запускать скрипт?
Антон 419 2633167
Подскажите пожалуйста, хочу написать парсер записи данных из сайта в режиме реального времени, какой стек технологии требуется изучить, подскажите пожалуйста, в каком направлении двигаться
420 2633223
как это синхронизировать? надо чтобы блоб скачивался после того как сфетчатся картинки, иначе скачивается пустой тарбол. если что скачивание блоба сделано без промисов, а через таймаут. потому что куски кода спизжены из долскрипта
в отладке скачивается, если долго подождать, т.е. все работает надо только синхронизировать.
421 2633268
>>33223
возвращай из fetch_images массив промисов, на Promise.all добавляй then, в обработчике качай файл
422 2633277
>>33167
Простой парсер сможешь сделать на Питоне + библиотека requests и ещё может быть beautiful soup
Ещё есть Selenium
423 2633288
>>31154
Минимум сотку, да. Но это при условии, что хотя бы минимальные софт скиллы есть.
1678227388312.png1 Кб, 97x80
424 2633303
>>33157
Бля, только спустя 3 часа понял почему у меня происходят проблемы. Ивенты запускаются в том порядке, в котором были добавлены. Я все время думал что последний добавленный ивент (мой) будет запускаться первым.

Тогда я хуй знает как сделать так чтобы мой ивент запускался первым, пойду гуглить.
425 2633313
>>33303
Получилось. Как же я заебался.

Вешаю ивент в режиме захвата (capturing) на родительский элемент, чтобы он уж точно был первым. Отменяю дефолтное поведение чтобы не редиректило. Отменяю моментальный пропагейшен чтобы все ждали пока мой ивент завершится.

После этого, по какой-то причине, я всё ещё уходил в вечную загрузку (пик4). Не понимаю что мешало остальным ивентам отрабать как надо после моего. Но я вручную вызываю сабмит формы через jQuery чтобы все связанные ивенты с ней отработали ($(temp1).submit()).

Единственное что я не очень понял:
1. Почему мой ивент не отработался вслед за остальными ивентами, вызвал вечный цикл? Когда я вешал схожий ивент на саму форму, случался цикл, понятно почему. Неужели там отрабатываются только те ивенты которые непосредственно связанны с элементом (формой)?
2. Чем может быть вызвана вечная загрузка, из-за которой мне пришлось вручную сабмитить форму? Если мой ивент выполняется в режиме захвата перед всеми дочерними ивентами самой формы, по идее ничего не должно было помешать им отработать как надо? Единственная догадка так это то, что выше моего родительского элемента по ДОМу есть ивент, который также отрабатывается в режиме захвата. Этим может быть объяснено, почему я также вижу окно загрузки (пик4) в момент отработки моего ивента.
426 2633314
>>33313

>вслед за остальными ивентами, ВЫЗВАВ вечный цикл


Фикс.
427 2633319
>>33165
Его надо глобально установить и поебаться с package.json'ом. Ну у меня так было. Сделал небольшой скрипт, который создаёт структуру папок для nextJS приложения. И работает через командную строку.
"type": "module",
"main": "./bin/index.js",
"scripts": {
"start": "node index.js"
},
"bin": {
"next-struct": "./bin/index.js" // next-struct- ключевое слово для командной строки, как tsc у тайпскрипта
},

У меня так заработало.
428 2633321
>>21834 (OP)
Поясните разницу между broadcastchannel и shared worker
429 2633324
>>33313
Аноны, мне бы ОЧЕНЬ хотелось написать первый скрин из этого поста без использования jQuery. Но я перерыл весь гугл и не понимаю как. Все способы вызвать форму, будь то form,submit(), или form.dispatchEvent(new Event(''submit'')) редиректят на страницу с запросом. Может если я диспатчну ивент клика на кнопку реплая то такого не будет, но что-то мне подсказывает что тогда то я попаду в бесконечный цикл сабмита формы.
430 2633326
>>33167
Если сайт простой, то express + cheerio, если там SPA с защитой от парсеров, капчей, клаудфлэром и т.д., тогда тебе нужен headless browser типа puppeteer, который будет у тебя вместо cheerio, он будет притворяться реальным юзером, заходящим на сайт через хром. Сам делал стесловые краулеры на puppeteer, как вариант ещё можно подрубить доджинг банов по айпи через специальный сервис от AWS https://github.com/Ge0rg3/requests-ip-rotator
431 2633330
>>33319
У меня все работает, но когда запускаю через npm - оно одупляется две секунды, а через node - запускается моментально. Хотя в package json буквально эта же команда записана.
432 2633338
>>33330
Запускай через node.
433 2633404
>>33268
помогло.
Антон 434 2633472
имел ввиду парсер криптовалют и связок как сделать, к примеру, парсер берет данные с разных сайтов и предлагает выгодный обмен(связок), купил на одной бирже, продал на другой? С чего начать, готов упорно учиться, даже если пойму что я чмо галимое, то лучше раньше, чем поздно.
435 2633482
>>33472
Подобная хуйня есть у букмекеров с вилками, они выявляют таких умников и банят.
436 2633511
>>33472
Ну вот на это можешь взглянуть:
https://www.youtube.com/watch?v=0MEpPU3rWCk

Если ты новичок, то вряд ли осилишь, но общее представление, думаю, можно получить.

Он там много чего рассказывает. Узнаешь про апи ключи и всё такое. Думаю, полезно будет.
whyyyyyyyyyyyyyy.jpeg36 Кб, 669x410
437 2633624
Кто-нибудь знает, почему функции объявленные через обычную декларацию помечаются в ИДЕ, как unused property (затемнены они)?
Я никак понять не могу. Это я чего-то не знаю, как оно работает, или это баг в ИДЕ
438 2633633
не по теме
Помогите вытянуть отсюда url для фубара чтобы слушать радио не в браузере
https://rey.fm/
на всё что получалось пишет - нет прав
439 2633638
>>33324
<form method="POST"
Или как-то так, не помню
header.jpg13 Кб, 561x353
441 2633694
>>33640
лан пох неважно, нашёл сайт который это делает.
442 2633711
>>21834 (OP)
Аноны, а javascript.info полностью покрывает темы по чистому JS, которые могут спрашивать на собесах?
443 2633759
>>33711
Смотря какие собесы. Последний раз когда заходил там дохуя всего было, для вкатуна за глаза.
1678275710801.png9 Кб, 458x73
444 2633764
>>33638
Не очень понял к чему это, у формы и так пост метод. И экшен указан, она редиректит по этому экшену.
445 2633799
Читаю новую доку реакта: «While functional programming relies heavily on purity, at some point, somewhere, something has to change. That’s kind of the point of programming! These changes—updating the screen, starting an animation, changing the data—are called side effects. They’re things that happen “on the side”, not during rendering
Что здесь понимается под "рендерингом"? Фаза рендера, когда WIP файбер-дерева сравнивается с текущим? Или некоторое общее понятие?
446 2633820
>>33324
На onSubmit preventDefault, потом вручную фетчем постишь содержимое формы.
447 2633829
>>33820
Ладно, для двача это видимо не вариант ебаться, хочется просто препроцессинг перед отправкой сделать и потом дать уже навешанным ивентам отработать после моего, а не в обход них совершать постинг. Видимо лучше $(form).submit() нет.
448 2633959
В 2к23 году реально ли вкатиться в какое-нибудь рога и копыта фронтендером? Если знаешь только js, vue и nuxt, но при этом нихуя не знаешь typescript, не знаешь ни ООП и ни ФП и ещё никогда не делал тесты?
449 2633962
>>33959
попробуй, узнаешь.
вкатиться можно и чисто версталой без жса.
смотря куда катиться будешь.
450 2633965
>>33962
Спасибо огромное за ответ.

>вкатиться можно и чисто версталой без жса.


А это как? Это под CMS'ки вёрстка шаблона?
451 2633971
>>33965

>шаблона


типо. но таких вакансий меньше чем на ангуляр из-за той же специфичности.

пробуйся на вакансии, записывай где ты проебался и изучай это.
проебываться ты будешь далеко не один раз.
452 2633974
>>33971
Благодарю, буду очень стараться
453 2634225
какая-то проблема с промисами: всё норм скачивалось, пока не попался тред, в котором скачивание зависает на 2-х последних файлах (любых). в чем может быть проблема? как такое дебажить?
когда другим питоном грепал, то словил таймаут соединения. может надо рефетчить после такого, потому само это не происходит?
454 2634228
>>34225

>когда питоном скрапил, то словил таймаут соединения. может надо рефетчить после такого, потому что самостоятельно это не происходит?

455 2634255
>>33799
Под рендерингом понимается запуск функции-компонента. Она не должна менять стейт. Только функции могут его менять.
Антон 456 2634362
https://www.p2pmachine.com/ как сделать такой сайт, какой стек нужен?
457 2634368
>>34362
хтмл ксс жс.
458 2634373
Как же я ненавижу этот парашный язык, почему все реквесты на нём асинхронны? Я не хочу на каждый пук опрокидывать async/await на функцию чтобы дождаться жсона. КАКАЯ ЖЕ ХУЙНЯ.

Столько же костылей мне нужно для юзерскрипта. Почему блять просто нельзя соверашть синхронные запросы?
459 2634382
>>34373
Ладно, я разобрался чуть с промисами и жизнь стала легче. Но всё равно такое себе. Вдруг если один промис задержится и у меня все наебнется.
460 2634383
>>34382
micro task queue
461 2634400
>>34373
Покажи в коде в чём именно проблема, как бы ты хотел чтобы оно работало?
Аноним 462 2634436
>>34362
Подскажите как сделать в итоге эти связки, брать данные с сайтов парсить их, react node js sql подойдут?
463 2634491
>>34436
какие связки. какие данные. шиз, учись нормально формулировать вопрос для начала.
464 2634494
Как валидировать данные формы через @Valid, чтобы оно бросало IllegalArguementException вместо BindException?
1678349443562.png182 Кб, 926x621
465 2634503
>>34400
Там была типичная проблема 1 в 1 как на скрине. У меня класс разбит на методы, я создал небольшой метод чтобы получать жсон. Чтобы потом возвращать значение. Теперь мне приходится все тело метода оборачивать в промис и возвращать его, а в промисе резолвить значение финальное. И на самой верхушке прописывать then.
466 2634519
>>34503
Перед названием метода просто пишешь async, не?
467 2634523
>>34519
Тогда мне придется асинки проставлять вплоть до самого верха абстракции, это полная хуйня.
468 2634525
>>34494
Либо ты пишешь что за фреймворк, либо я говорю что ты промахнулся трудом со своим спрингом.
469 2634526
>>34523
Зачем? Один раз только, кроме самого метода. Указать асинк перед той функцией, где метод вызывается
470 2634527
>>34525
Блять, как я вообще к вам попал...

Спиздили лет 30 назад имя на хайпе, теперь ошибаются люди в тредах...
471 2634530
>>34526
А, асинхронные методы/функции я так понял по дефолту промис вовзращают и мне не нужно вручную их городить? Также then на самом верху возвращать? Ну, можно попробовать.
472 2634531
>>34526

> Указать асинк перед той функцией, где метод вызывается


Или если ты про то чтобы использовать await то нет. Мне придётся указать для того метода который вызывает мой асинк ментод а затем для того метода который вызывает мой асинк метод который вызывает мой асинк метод, затем асинк для метода который вызывает остальные методы, затем асинк для мейн функции которая вызовет мой асинк метод который вызовет остальные асинк методы по цепочке.
473 2634534
>>34531
Ты же понимаешь что писать await тебе нужно только если тебе внутри функции нужно дождаться выполнения другой функции?

Если у тебя есть скажем асинхронная fetchUpdates(), то ты можешь вызвать ее без await если тебе надо просто чтобы она вызвалась.

await нужен если ты делаешь что то с результатом функции
const res = await fetchUpdates()
doSomethingWithResult(res)

Если при всем при этом у тебя настолько длинная цепочка await-ов то ты как то не так код организуешь.
474 2634537
>>34534
Ну у меня сейчас так выглядит. Я не очень уверен что понимаю как правильно сюда асинхронность прикрутить.
image.png144 Кб, 892x1160
475 2634557
>>34537
Нормально это примерно так пишется.
476 2634578
>>34557
О, благодарю, что-то не подумал вынести таким образом fooBar. Ну в принципе, в теории не мне нужно обязательно ждать пока foo отработет, так что можно его не эвейтить, тогда будет работать также как и с промисами, только с меньшим говнокодом.
477 2634589
>>34491
чуть выше был пример, если не вкуриваешь о чем речь, лучше промолчи дура
478 2634657
>>34589
Вот никак не пойму таких токсичных неосиляторов.

Спрашивают хуй пойми что, а на логичный вопрос хули он хочет, начинает огрызаться и токсичить.

Ебанат, если ссылка на сайт для тебя - это верх пояснение вопроса, то пошел ты нахуй.

Ебанат, если ты не можешь разобраться какой стек тебе нужен для верстки - пошел на хуй.

Ебанат, чтобы ответить на твой вопрос я по твоему должен исследовать все возможные варианты которые ты имел в виду в своем вопросе дабы ты ответил потом: "Я не это имел в виду" - пошел на хуй.

Ну и просто пошел на хуй.
479 2634696
>>34589
Ну так он промолчит, остальные промолчат.
Твой пост уже был красным флагом, а тут ещё и прямое подтверждение твой токсичной шизе:

> кукареку ку-дах тах-тах

15043759689731.png641 Кб, 750x748
480 2634700
>>34696
>>34657
Игроки на бирже/лудоманы, они такие. Сумбурное выражение мыслей, нервозность, импульсивность.
изображение.png130 Кб, 775x377
481 2634717
>>34436

>связки


А, ну же очевидно как ее решить:

Mashinnoe_obuchenie_algoritmy_dlya_biznesa_2019_Markos_Lopez_de_Prado.pdf
482 2634719
>>34657
Да это просто Быдло. Типочек. Пацанчик. Кент. Кабанчик. и тд.
Его мнение о вещах составлено из пацанской субкультурки.
Он считает что
- в интернете есть ответы на все вопросы.
- одни более ровные дяди скрывают "темки" от других дядей и вообще всяких лохов.

К сожалению, не все так примитивно.
Книжечка бесполезная, но все равно рекомендую к ознакомлению просто для кругозорчика.
483 2634734
Подскажите, как в эксперементальной версии некста (без getStaticProps и т.д) установить куку при первом запросе к приложению (который получает штмл цсс жс)?
Есть, кто ковырялся в этой версии?
484 2634739
>>34734
Пока что только в миддлваре, потом запилят, написано в доке ж.
485 2634751
Дорогой дневник

>Пока что только в миддлваре



А как его подключать? Вот у меня есть handler который обрабатывает request resonse, который встанавливает куку. Куда мне вставить эту функцию (или файл с экспортом её) в структуре? Раньше в pages, а сейчас как? Или этот хэндлер - это не мидлвар? Или мидлвары по-другому подключаются?

Пока формулировал вопрос, решил посмотреть старую доку и нашёл ответ на вопрос. Надо чаще с собой общаться, задавать себе вопросы и т.д.
brent-intraday-001-1700.png8 Кб, 710x370
486 2634795
>>34717
Так вот кто нам баблишко заносит! А я-то думал, кто ж эти уебаны, и всё никак не заканчиваются! А это машинное обучение - во как!

>algoritmy_dlya_biznesa



КИБЕРНЕТИКА!!!
487 2634854
Хочу оптимизировать размер json, сократив имена полей до 1-2 символов. На клиенте это легко обработать. А как работать с таким json в JavaScripte, чтобы не пришлось обращаться с полям с именем "i" или "a"?

Пока вижу вариант объявить класс с Get/Set и там внутри уже обращаться к нужному полю, типа:
get displayName() {
return this.data["dp"];
}
488 2634876
>>34854
Тебя сжатие названия ключей даст выигрыш в пару мегабайт? Выглядит как экономия на списках ради оверхеда в вычислениях.
489 2634880
>>34876

> экономия на спичках


быстрофикс
490 2634904
>>34854
Если тебе нужно экономить, то жсон тебе не нужен, он неэффективен, кодируй по-другом, ключи храни статично.
А вообще просто напиши что-то типа
const readable = (optimiszed) => ( {abcd:optimized['a' ], efgh:optimized['e' ] })
491 2635213
Реактеры здесь?
Взляните вот на это:
https://codesandbox.io/s/zealous-roman-sqcnre?file=/src/App.js

Есть лист с постами, у каждого поста есть меню. При открытии меню ВСЕ посты рендерятся заново.
Но нужно пере-рендеривать только 1 пост, который меняется.
Что тут можно сделать, кроме добавления состояния в каждый пост?

Всякие memo сюда не подходят, потому что или состояние меняется или пропсы меняются.
492 2635247
>>35213
Мемо будет работать если правильно сделать.

https://codesandbox.io/s/vigorous-keller-7gtf5d?file=/src/App.js

И если что класть дочерние компоненты внутри рендер функции нельзя, это одна из грубейших ошибок в реакте.
493 2635272
>>35247

>дочерние компоненты внутри рендер функции нельзя


Што?
мимокрокодил
494 2635431
>>35272
Какое слово тебе не понятно?
495 2635439
>>35431
Ты какую-то хуйню спизданул. Что тогда делают паттерны render props или HOC? А для чего this.props.chldren. А как по твоему реакт роутер декларативно конфигурируется? Тысячи примеров

другой мимокрок
496 2635473
>>35439
Дебич, посмотри на пример кода в посте на который я ответил.
497 2635513
Аноны, может мне сразу учить TypeScript и не тратить время на ванильный JavaScript? Он же всё равно транспилируется. Что скажете?
498 2635520
>>35513
Тайпскрипт это жабаскрипт, но с подписанными типами для статической проверки, всё что работает в одном, работает в другом, просто тайпскрипт может ругаться если ты хуйню пишешь.
499 2635523
>>35520
Да, я знаю. Но он же приучает к правильному мышлению с его типизацией. Насколько критично, если я сразу начну учить TS, пропустив JS? Всё же в некоторых моментах, кроме типизации он отличается, как я понял
500 2635535
>>35523
задай себе логичный вопрос, сможешь ли ты после тса просто взять и писать на жсе?

проще жс. потом тс. т.к. не везде используется тс.
501 2635540
Етить оказывается резолв функцию промиса можно спрятать в массив и потом её выполнить, я хуею бля каждый день что-то новое узнаёшь
502 2635542
правда, что v8 выполняет js код быстрее, чем выполняются большинство языков программирования, кроме асма, cи, плюсов и джавы? читал статью и там этот v8 так расхваливали, мол инженеры из гугл сделали чудо.
503 2635552
React или Angular?
И почему
504 2635556
>>35552
рекат потому что много вакух и можно на тяп-ляп сделать что-то побыстрому.

ангуляр потому что меньше вакух, но аппы делают на нем большие и с правильным подходом к разработке.
505 2635566
>>35542
Чуда он не сделает. Если будешь писать js как будто это язык со строгой типизацией по правилам одна переменная - один тип плюс избегать слишком динамические фичи (вроде той же рефлексии), то код действительно будет на уровне. Но никто из жс-кодеров с этим не заморачивается, а потому получается что есть.
506 2635567
>>35556
А в каких сферах они чаще используются?

Я раньше думал, они слишком разные, но по сути там же нужны схожие знания
- глубокое знание JS
- TS
- Redux
- тестирование
В Angular еще есть RxJS и Observables, я пока не шарю за это, но в React это по-любому как-нибудь применяется.

Получается, лучше выучить один, потом другой, либо оба сразу? Или лучше сосредоточиться на чем-то одном?
mpv-shot0005.jpg113 Кб, 942x720
507 2635568
>>35247
Анонище, спасибище. На таких тред держится!

>И если что класть дочерние компоненты внутри рендер функции нельзя, это одна из грубейших ошибок в реакте.


А почитать про это можно чо-нить? Не могу чет найти ничего.
509 2635584
>>35523
Транспилируется, а чтобы понять какие кейсы статика в ТС не покроет, надо навернуть говна сначала, чтобы понимать как оно работает и когда в рантайме твой транспилированный ЖЫЭС отвалится.
Ты не будешь постоянно проверять типы через typeof govnomocha - потому что это костылтная логика, выглядит с ифчиками уёбищно, JS [TS] всё равно норовит наебать с неявным преведением типов, да и пацаны засмеют и дизлайк на МР поставят, а потом на кухне отпиздят пока никто не видит.
510 2635620
>>35567

>А в каких сферах они чаще используются?


сайты, приложения на телефон и десктоп приложения.

для обезьяны они одинаковые. различия в разработки не такие уж и большие.

сосредоточиться на чем-то одном. остальные фреймворки после легче зайдут. т.к. почти то же самое.
например я с ангуляра на вью за вечер залетел, офк многого не знал, но для работы покурить доку и сделать тудушку хватило, чтобы разобраться как и что писать.
511 2635623
>>35620

>>А в каких сферах они чаще используются?


рякт чаще всего мелкие-средние сайты, но можно и тырпрайз (можно и на нативе тырпрайз, но оно вам надо?).
ангуляр чаще всего средние-большие и тырпрайз.
512 2635628
>>35623
а ентот тибетский вуе для кого тогда
513 2635630
>>35628
Если хочешь сделать сайт с топовым UX как на алиэксресс.
514 2635631
>>35628
та же хуйня что и с реактом но лично для моих глаз приятнее.
вакух меньше чем на рякт, но либо больше чем на ангуляр, либо меньше.
515 2635648
>>35552
Если начинать проект сейчас реакт, безальтернативно.
516 2635703
>>35431

>рендер функции


Так сказал бы в компонент, который рендерится. Я сразу подумал про return.
518 2638771
>>35648
Чтобы выбрать реакт или другую фейсбучную технологию, нужно быть гиперкомформым омежкой, для которого главное шоб как у всех. Реакт выбирают крестьяне, которые случайно вкатились в айти. Инженеры выбирают ангуляр или вуе. Даже китайский вуе внутренне намного технологичнее реакта. Реакт это библиотека для рендеринга jsx, разработчикам которой пох на производительность, главное чтобы было декларативненько, а то недавноиспеченые из крестьян хипстерки не оценят.
519 2654845
>>29266
Для этого и придумали отделение логики и представления. Я всегда начинаю с логики, пишу на логику тесты, натягиваю контроллеры и уже потом верстаю страницы. А то есть умники которые сверстали странички и типа довольны. Морда не нужна без функций. Плюс если ты начинаешь верстать с морды, у тебя возникает ложное впечатление будто ты умный, а на деле ты ничего не сделал. Это ведет к прокрастинации.
520 2654846
>>29415
Делаешь абстрактный класс Канселлабле и от него наследуешься. Потом вызываешь супер. Тогда весь повторяющийся код будет там что то делать перед твоим куском кода и не трогать твои функции.
521 2654847
>>29394
Если знать принципы гридов, когда юзать паддинг а когда маржин, твой пикрелейтед верстается примерно за 4 часа. Если ты знаешь все баги, клирфикс наизусть, то вообще за пару часов. Это при условии что ты не будешь гуглить как исправить какой-то мелкий баг например текст не идет на новую строку.
522 2654848
>>29450
Накидываешь/снимаешь класс вращения где анимация задана, в чем проблема? В реакте это делается одним стейтовым хуком.
523 2669568
анончи, здравствуйте. Вопрос появился, изучаю реакт, но фп. Думаю, стоит ли переходить на ООП? или фп так же приоритетен?
524 2669723
>>69568
Ооп на фронте это оксюморон
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 13 мая 2023 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски