Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Шёл третий тред, а алгоритмошизики так и не смогли назвать 1(ОДИН) алгоритм и 1(ОДИН) юзкейс, в котором они его использовали. Или написание кастомных for лупов теперь дохуя алгоритмы?
>>1944379 Манюнь, я понимаю, что в твоем манямирке все окружающие тебя люди это такие же вкатуны как ты, но реальность такова, что есть и те кто уже работает. Так вот, код который я пишу защищен NDA, погугли что это такое. Я не хочу нарушать договоры ради того чтобы доказать что то сычу, сидящему на мамкиной шее. Мог бы конечно придумать что то похожее, сгенерировать набор данных и написать рабочий код, но не думаю, что у тебя хватит денег для оплаты хотя бы 10 минут моего времени.
>>1944395 Ну хер его знает, я не такой профи. Наверное да, то, что я его под этим аяксом написал, не знгачит, что он после него выполнится. Но это вроде не должно влиять на проблему, да?
>>1944390 >названия алгоритмов Тебе в прошлый раз написали название, долбоеб, ты начал кукарекать о том что в гугле ничего не нашел и требовать примеров. Самое смешное, что даже увидев пример, твой манямирок взбунтуется и начнет сыпать оправданиями, потому что такие как ты осознают важность изучения алгоритмов только когда к жопе прижмет, т. е. когда встретишься на практике.
>>1944376 (OP) Привет. Пикрил норм книжка, чтобы вкатиться в жс тому, кто уже на другом прогает? Если нет, посоветуйте что-нибудь для освоения особенностей языка.
>>1944442 IT-KAMASUTRA, JavaScript.Ninja, Тимур Шемсединов, freeCodeCamp, Brad Traversy, Dev Ed, Aaron Jack, Kent C. Dodds, Web Dev Simplified, Ben Awad, Shai UI, Chris Hawkes, The Coding Train, Simon Dev, Ania Kubow, DevTips, Frontend Weekend, Фронтенд Юность, Tim Ermilov, Low Level JavaScript, Coding Garden, подкаст «Мысли и методы» Рахима Давлеткалиева, TechLead, S0ER, Senior Software Vlogger, Сергей Немчинский, АйТиБорода, Victoria Borodina, Юрий Дудь, Джастас Уолкер, Адвокат Егоров
>>1944421 Почему? У неё же класс такой же. Или вот я не понимаю как оно работает, типа в какой-нибудь ДОМ не попадают элементы и оно их там не видит? >>1944424 А так кликает да. Только теперь у нового элемента data-id андефайнд... >>1944386 ...потому что блядь кавычки забыл закрыть в имени класса, в коде, который рендерит карточку после добавления в жс коде. Так что наверное и так бы сработало.
>>1944484 Ну типа что значит "не повесил хендлер на созданную кнопку", когда созданная кнопка такая же как и те, что до этого были? Почему хендлер на тех висит а на эту не вешается типа?
>>1944486 $(selector).click() работает так: он ищет все элементы в доме удовлетворяющие селектору и вешает на каждый из них функцию, в новых нодах которые ты добавишь потом естественно хендлера не будет, вызываешь ты его один раз на дом-рэди, либо вешай на создании кнопки на неё хендлер либо используй $().on
>>1944489 >>1944496 Ну понятно, спс. А в документации вроде написано, что клик - это синоним он(клик). >>1944498 Да я же и написал сразу, что уже нашел обсер. Сраная кавычка вот тут. Поэтому он так странно и подсвечивался, лел, а я не видел в упор. Но из-за того, что я вместо клика написал "он", я хотя бы это заметил и нашел.
В вкатывальщик, который в позапрошлом треде спрашивал насчет уникальных итемов в корзине. Это лучший алгоритм(который я спиздил с ютуба). Или можно было все таки лучше сделать?
>>1944548 Зачем функция getHash? Лишнюю строку кода засирает. Тебе здесь filter не нужен, просто в новый чёт спредишь старый стейт и добавляет новый элемент
>>1944411 У меня нет NDA, так что в общих чертах отвечу. За все время работы был один случай, когда пришлось чуть-чуть вспомнить дискретную математику - это когда я заартачился и написал движок для поиска и визуализации пути, простой как пень., и редактор точек к нему. На все ушло в районе... двух дней что ли, если алгоритмы считать. Вот и прикинь, сколько времен человеку-энтерпрайзу нужны алгоритмы.
>>1944152 → >У твоего расширения есть репозиторий? Был бы не прочь поконтрибуцировывать код в него.
Да не, это я чисто для себя написал. Благодаря подсказкам ИТТ, работает сейчас всё так, как я хотел бы.
А кстати, интересно вдруг стало. Если я, к примеру, со временем расширю базу и захочу вынести этот json в отдельный файл, то это неполияет на производительность или ещё чего?
>>1944648 Верстал, плиз. Любой поиск - алгоритм. Любая выборка - алгоритм. Работа с таблицами - алгоритм. Просто работа со списками уже алгоритм. Можно конечно обмазаться либами, но в интепрайсе ты не можешь либы брать, потому что каждая либа проходит ревью у безопасников. Алсо, половину этих алгоритмов проходят в 10-11 классе, так шо похуй.
>>1944708 Не, во второй версии говна, рандомизация по индексам. Ща сделаю и скину. Хорошо выходит, ух.
>>1944730 А когда на толчке сидишь - это тоже алгоритм? И расскажи-ка мне, что ты там в 10 классе проходишь, какую "половину алгоритмов"? Хоть один назовешь или опять сольешься, верстала?
Недавно вкатился в шаражку, пилю фронт, но бека пока нет. А есть части приложения, которые зависят от ответов сервера. Что можно сделать в этом случае? Есть какие-то сервисы, на которых можно было бы настроить обработку запросов? Или ситуация, когда у тебя вообще нет апишки это проблема бекенда и меня ебать не должно?
Посоны, а каким образом можно присвоть результаты map сразу двум свойствам? то есть допустим у меня this.options = arr.map(...) this.options2 = [...this.options] На мой взгляд выглядит как говно. Можно ли сделать это в одну строку?
>>1944886 Лучше всего будет поднять простенький сервер на ноде, как было сказано выше уже. Как еще один вариант - написать два менеджера/сервиса запросов. Один для сервера, другой чисто мок-заглушку, который на любые запросы будут асинхронно возвращать какие-то тестовые данные. И переключаться между ними по надобности.
В этом случае, у тебя будет готовый инструмент для тестирования/разработки фронта независимо от того, какой сейчас треш творится на беке. Но это имеет смысл только если ты там собираешься долго работать и тебе вообще не похуй.
>>1944908 >>1944897 >>1944899 Так ладно, это действительно оказалось куда проще чем я думал. Мне просто нужно было не столько асинхронный запрос получить, сколько сделать систему верификации отправленных данных. И на это реально в итоге ушло минут 15
>>1944961 Алгоритм токов. Ты изучаешь математику, жс, программирование, книжку логики, немного философии. И потом сможешь json от object отличать. Иначе ты так и будешь обсираться в каждом треде десяток раз.
>>1944730 >Верстал, плиз. Любой поиск - алгоритм Алгоритмы, мальчик мой, это не то же самое, что бизнес-логика. Алгоритм - это какой-нибудь сраный муравьиный поиск, который ты пишешь самостоятельно. Или сортировка. Или еще что-нибудь подобное, требующее знания математики и CS, а не умения код набирать. Всё остальное к алгоритмам в программистском смысле не относится.
>>1944708 >Если я, к примеру, со временем расширю базу и захочу вынести этот json в отдельный файл, то это неполияет на производительность или ещё чего? Конечно влияет, отдельный файл нужно будет каждый раз парсить, а при добавлении новых элементов - перезаписывать. Если не нужно заморачиваться сортировкой джейсона, то можно ограничиться записыванием нового элемента в конец массива. Но там должно быть дохуя записей, чтобы влиять на что-то. Для сравнения - `package-lock.json` свежеустановленного Create React App - 700КБ размером и 17к строк. И ничего, всем норм. Он, впрочем, нечасто дёргается, только при установке/удалении пакетов в проекте. И если у тебя не совсем днищепэка, то ощутимой разницы не будешь чуять, пока пилишь под себя. Проблемы могут начаться, когда подумаешь поднять сервер для своего расширения, но там уже не будет проблемой этот джейсон в бд мигрировать.
>>1945069 > поехавший шизоидный верстала пытается притянуть бизнес-логику зачем-то > притом что именно в бизнес-логика чутьболее чем полностью построена на графах Верстал....
>>1945075 Ладно, верстал. Таблетки выпей и лучше станет.
>>1945181 Наебень какой-нибудь проект, одним из компонентов которого будет сервак на экспрессе. Использовать MDN как справочник можно, как учебник - нет.
Так, подождите... А хули редакс каждый раз сбрасывает стейт к дефолту при перезагрузке странице, либо переходе на другую страницу сайта. Зачем он вообще тогда нужен, лол?
>>1945252 Делают только те кому нужно, по дефолту ЛС не юзается. В чём твоя проблема? У тебя в спа нет роутинга и из-за этого редакс стейт сбрасывается при переходе на другие страницы? Так установи сраный роутер.
>>1945275 У меня стоит роутер! Ну условно у меня 3 компонента с разными роутами. Первый рендерит все карточки товара. Второй рендерит карточку товара. Третий - корзина, которая показывает товары, которые были в нее добавлены и рендерит их. При клике на добавление в корзину -> имя товара, цена и прочее сохраняются в стейт. Но при переходе в корзину он сбрасывается...
>>1945293 Скрины почему-то не кидаются. Что я не так делаю? <Router> <Route path="/" exact component={Home}/> <Route path="/login" component={Login}/> <Route path="/registration" component={Registration}/> <Route path="/cart" component={Cart}/> </Router>
Нахуя нужна реактивность, если у меня есть глобалстор? Глобалстор лучше реактивности же. Но если реактивность нинужна, то можно вообще обойтись только шаблонизатором + стореоном? Но ведь стакать вызовы рендера нужно. Или типо это стореон будет делать? Или для этого отдельная либа нужна? Или реактивность нужна чтобы в шаблоны пукать, а стор чтобы переменные хранить?
>>1945158 Ясно. Спс. Понял даже больше, чем мне нужно. Спросил потому, что мой код будет инжектится на каждую открываемую страницу в браузере. Файл микроскопический, так что зря я парюсь в общем-то.
Привет, аноны, возник вопрос по тому как взаимодействет фронт с беком, у меня есть задание написать бек для приложения и я знаю что например про определенному урлу оно будет возвращать список, фронт соответсвенно делает запрос, получает список и рендерит страницу, верно? Как после этого работают фильтры и поиск по страницу, есть у меня записи определенные, есть кнопка фильтра, по нажатию на кнопку js должен делать новый запрос к беку и вновь рисовать страницу, верно? Я просто питонист и хочу понять что входит в мою часть работы, а сейчас что-то туплю.
Есть ли в современных фреймворках общепризнанный подход как встраиваться в лайфсайкл чужих компонентов снаружи, не меняя их код? Типа как раньше многие джиквери функции можно было навесить на любую хуйню, только получать не голые дом-ноды, а типизированные компоненты? В ангуляре можно добавить директиву, и в нее руками передать все что надо, но хотелось бы чтобы работало на все компоненты само.
>>1945445 >как встраиваться в лайфсайкл чужих компонентов снаружи Через внешнее API этого компонента. Если же таких возможностей компонент не предоставляет, то сосешь хуй и пишешь свое.
Вывожу в консоль item1 > объект выводится как показано выше. Если начинаю лезть вовнутрь, начинает на любой глубине выдавать undefined. Если вывожу в консоль любую его вложенность прямо во время фетча типа - .then(data) => console.log(data.item1.description.value), то в консоль доступ к объекту выводится нормально, показывает 1000. Но если я потом его куда-то записываю и хочу получить к нему доступ через записанный объект, точно так же, весь объект внутри undefined. Но при этом сам объект item1 и его структура выводится в консоль, а вот все что внутри недоступно. Что я не так делаю? Что там ломается у жсона при записи в переменную?
>>1945423 Это зависит от того, как реализован эндпоинт. Самый наотъебись вариант - высирать весь список в джейсон и пусть фронт там сам ебётся с пагинацией и фильтрами. В более рабочем варианте ты сначала решаешь, будет ли твой эндпоинт реагировать на GET или POST запрос. При гете фильтры парсятся через https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams или эквивалент на питоновском серваке, и ты отправляешь джейсон в ответ. Ну а с постом всё понятно, клиент присылает тебе джейсон, ты его анализируешь и выплёвываешь джейсон в ответ. Собственно твоя работа состоит в написании эндпоинта и что на него должен отправлять фронт, а уж что он там делает с ним после получения ответа - похуй.
>>1945457 А если не хочу сосать хуй? Внутри фреймворка то все ивенты в любом случае файрятся даже если на них сами компоненты не подписывались, значит можно же что-то задекорировать так, чтобы они просачивались наружу?
Подключив сайн-ап через гугл, я столкнулся с еще одной проблемой - после того как юзер нажимает сайн-ап, вылазит попап окно для аутентификации, а как мне сделать так, чтобы вместо попапа, был редирект на страницу гугла, как это, например, сделано на стаковерфлоу, ну и других сайтах где есть эта фича. Доки читал, но безуспешно, подскажите аутисту.
>>1945464 Лол, проиграл с варианта, чтобы отдавать полный список, но да, вроде в голове сложилось что через параметры урла просто отдавать отфильтрованные данные, а уже фронт пусть их втавляет в нужные места, кстати, пагинация на беке делается, тоже важный момент, надо запомнить
>>1945464 >>1945560 А еще нужно кэширование сделать и алгоритмы формирования json. А авторизацию вынести на сервер. А еще можно через вебсокет. А json через бинарные данные передоват. Да и хранить всё в бинарном формате в бд, через индексы кэша. А можно просто найти можно проверяй)) бд которая всё это делает безстрочкикода.
>>1945459 await наверняка забыл и записываешь в переменную промис, а не то, что пришло из него. Должно быть либо let responseBody = await fetch('/').then(r => r.json()) либо fetch('/').then(r => r.json()).then(storeResponseBody)
Сап /pr. Давненько не заходил, но знаю, что тут дадут хороший совет. Тема такая - апликуха на Angular (TS который) - через АПИ фетч данных, в которых есть булевое поле. Эти данные отражаются в таблице, булевое значение которых отражается в виде чек-бокса и должно передаваться POST реквестом (т.е. изменять состояние АПИ) при нажатии на Check-uncheck. Внимание вопрос - как такую хуевину залепить? 1. Нужно ли дробить по компонентам - отдельно таблица, отдельно чек-бокс, который идет полем в этой таблице и который принимает каждую сущность по отдельности? Или все говно слепить в кучу и булевое заменять на чек-бокс? 2. Каким инструментом пользоваться? NgModule? Формы? Вроде бы простая задача, но толковой реализации не могу придумать.
>>1945891 я получаю массив объектов, у которого по нескольк полей, в том числе булевое, которое в таблице должно показываться как чекбокс. Я знаю, как пользоваться (change), если в случае статического объекта. А тут массив.
>>1945459 >Что я не так делаю? е понимаешь как работает ассинхронность и чем отличаются моменты когда ты читаешь свой объект внутри обработчика в then, и когда ты его пытаешься прочитать там, куда записал.
>Что там ломается у жсона при записи в переменную? Ничего нигде не ломается. Ты пишешь код, непонимая, что он делает и как он на самом деле работает. Перестань относится к программированию, как к магии, где успех зависит от того, насколько тебе повезет. Начни пытаться понимать ЧТО ИМЕННО ты делаешь.
>>1945903 Я делаю так, как здесь показано во втором примере. >>1945591 Но вообще конечно в дальнейшем буду иметь ввиду, что вместо конкретных практических ответов, нужно читать людям нравоучения, это уж точно приблизит их к пониманию сути предмета
>>1945905 От реализации и настроек зависит. Обычно создается css декларация и подключается на страницу и на элементы назначаются сгенерированные названия стилей вроде .aBcd . Эти стили учитывают повторяющиеся декларации в исходниках, потому если ты создаешь овер дохуя элементов с одинаковым набором стилей, на выходе они все будут ссылаться на один и тот же css-класс, дабы не злить Окама. При желание можно перенастроить на инлайновые, но лучше не надо.
>>1945911 Чтобы получать конкретные практические ответы, нужно научиться задавать конкретные вопросы, и если они касаются конкретного куска кода, то приводить этот код. А задавая "почему эфемерное у меня не работает", ты получаешь соотвествующий ответ. При чем пользы он несет намного больше, чем твой вопрос. Но даже этого ты понять не способен, или не пытаешься, как и то, то же именно ты делаешь, когда пишешь тот или иной код, вместо попыток удачно составить синтаскически корректное выражение.
>>1945911 >Я делаю так, как здесь показано во втором примере В этом "втором" примере нет никаких "сохранений чего-угодно в переменную" и "работы с этой переменной где-то потом".
>>1945922 Но вообще не ладно, понятно что нужно разбираться и я сам прекрасно это понимаю. Просто сразу бы и сказали, что недостаточно исходных данных, а вместо этого начали мне басни читать
>>1945903 >>1945919 Верстал, ты ебанутый? Нахуй ты пытаешься строить из себя эксперта? Не забывай что ты не знаешь даже что такое ДЖЕЙСОН и объект.
>>1945459 Ты должен сначала распарсить json. Гугли как это делается. Json должен иметь корректную структуру. Потом просто делаешь что-то уровня json['item1'][4]['hui'] и получаешь свои данные. Короче, проверь сначала что ты вообще делаешь и корректнуть структуры.
>>1944376 (OP) такой вопрос написание нейросетки для написания сайта (интернет магазина,визитки,бложика) насколько реально? фронт энд уже преставил но чуствую с бекэндом ебнусь
>>1946072 >фронт энд уже преставил но чуствую с бекэндом ебнусь Берёшь и пишешь парсер тех. заданий для фронта и энда. Не забудь ещё модуль ObkashlivatelVoprosikov написать.
>>1946079 ну я так и представлял парсер-бд синонимов слов-привязваем каждый элемент функционала к определенному слову было бы неплохо базу данных с тех заданиями существующих или готовых сайтов но не думаю такая существует
У меня есть компонент кнопка, которую я хочу отрендерить с определенными классами в зависимости от условий, чтобы было как прикрилейтед, но так почему-то не работает, что я делаю неправильно? styles это файл из которого я импортирую стили и в нем соответственно есть .class1 {} и .class1.class2 {}
>>1946091 CSS модули что ли? В них нет такого понятия, как ".class1.class2". Называй селектор одним словом и не выёбывайся. Селектор вида: class1 { &.state1 {} &.state2 {} } Выглядит так в коде: `className={`${styles.class1}` ${props.something ? styles.state1 : styles.state2}}`
>>1946117 >В scss во вложенных стилях можно же не ставить & все равно вложенность будет учтена, или нет? Необязательно, но я его всегда ставлю, так как позволяет взглядом отличить вложенный селектор по потомкам от доп. селекторов на класс.
Как в настройках VS Code убрать вот эти всплывающие описания? За это вроде отвечает IntelliSense, но не понимаю, какие галочки убрать в настройках, а убирать их все кажется плохим решением, вдруг перестанет что-то важное показывать.
>>1945991 Он уже все распарсил, долбоеба ты кусок. Делает он примерно следующее
let a fetch(url).then(r => a = r.json()).then(r => { a = r; console.log(a) }) console.log(a)
И не понимает (как и ты, который не способен уловить суть типичной проблемы вкатывальщка), почему у него внутри then все работает, а потом внезапно не работает.
Есть отправка формы, после того, как приходит ответ с сервера о том, что значение в форме правильное - форма проверяет ответ, и форма начинает светится зеленым светом. Компонент весь целиком остается тот же самый, но если после фетча я отправлю полученное с сервера значение еще и в мобХ, при том, что нигде это значение на самой странице еще не используется, вся страница полностью сбрасвает локальные стейты и отображает только то, что записано в глобальном стейте. preventDefault в отправке формы прописан, страница не перезагружается, а только сбрасывает все локальные стейты на изначальное состояние Блядь как же я ненавижу мобх, даже если проблема вообще не в нем это самая пидорестически ебанутая хуета из всего, с чем мне приходилось иметь дело, с абсолютно ублюдской докой и коммьюнити, которая была устаревшей еще в прошлом веке, просто одна громадная куча пидоров человеконенавистников людоедов Если это не какая-то платиновая классика, то код конечно покажу
>>1946464 Нахуя ты бампаешь дебил? Тут тебе не Б, никто по всей доске с порванной жопой не бегает, все и так сидят тут. Сейчас еще подумают, что это я бампаю тот кто задал вопрос выше и совсем меня обоссут
В mobX можно обновлять стейт прямо в сторе? Например есть один observable itemsCount = 4 и другой itemPrice = 500 Например если я хочу обновить total перемножив два предыдущих значения? Такое допускается вообще? Или лучше внизу в самих компонентах это все обрабатывать и экшеном перезаписывать?
>>1944917 Что там отличать то, блядь? Любой JSON, который ты встретишь, в рантайме будет иметь строковый тип. Алгоритм - проверить тип у прилетевшей сущности? Дегенерат, блядь.
>>1946462 >Есть отправка формы, после того, как приходит ответ с сервера о том, что значение в форме правильное - форма проверяет ответ, и форма начинает светится зеленым светом. Что за наркомания? Ссуть клиентской валидации - проводить проверки инпутов, не требующих запроса с сервера.
>>1946896 Хули ты доебался? Я вообще-то здесь язык учу. И когда мне в офф. доках пишут что принимается "строка кода для выполнения" то я и рассчитываю на то, что моя строка кода внезапно! выполнится.
Спасибо >>1945997 анону, но я все еще хочу разобратся в "правильной архитектуре" предложений на ангуляре. Небольшое лирическое отступление - пришел я из мира ООП, где все должно быть инкапсулировано, обособленно и логически выстроено. Из за этого раньше JS даже не трогал - что ни проект, то ленты глины, каких то зависимостей тонны болтаются - это не по мне. Но когда я открыл первый проект с ангуляром на TS, пися начала твердеть от статической типизации и разделении объектов на компоненты и модули. Но это лирика. По сабжу - из моего проекта, который состоит из N компонентов есть "общие" куски данных. Внимание вопрос - как их передавать между другими компонентами? Я бы на своем, родном .NET даже не думал - вынес бы репозиторий (если БД, в моем случае это сфитченая дата) и в DI добавлял бы в каждый класс, который в нем нуждается. Как поступить в ангуляр? Я могу пойти по пути наименьшего сопротивление, все свалить вкучу (там таблица, кнопка, диалоговое окно и т.д.) , но жопа чует, что говнокод лепить не кошерно. Теперь к конкретике: 1. Есть таблица, в которой отражаются данные (там же и изменяются) 2. Есть диалоговое окно, которое отражает результирующие данные. Какую связь построить между этими двумя компонентами?
>>1946900 В доках и спеке написано про литерали строку. Сущность, которую оператор typeof при вызове обзовет как 'string'. А не строку кода, дегенерат ебаный.
>>1946942 Делаешь page component, в него инжектишь стор, говоришь стору «загружай данные». Кладёшь на page table component, суёшь данные из стора в table через input. У table есть output «нажали кнопку 1 (на такой то строке)». В page подписываешь на этот output, показываешь модалочку. Модалочку можно показывать через ngif конеш, но у тебя же АМ, инжектишь модал сервис, открываешь модалочку через него. Контент модалочки это естественно ещё один компонент. Модал сервис дот опен ретурнит модал реф, у него есть какой там стрим с результатом, в page на него подписываешься, снова говоришь стору «что то произошло, выполняй эффекты, обновляйся». Коробочка жужжит, белье с тянок само сваливается. По итогу таблица умеет только красиво показывать данные, модал контент умеет только красиво показывать данные, стор умеет только получать и отправлять данные, страница сама ничего не умеет кроме лэйаута, но его тоже можно вынести в отдельный компонент, зато управляет всем остальным Классика крудов
>>1946970 Я типо такого делал на реакте, я правда не сильно продвинулся - есть родитель, в него входят разные компоненты. Родитель - хранитель всех "общих" данных. Еще можно было через Redux прокидывать и из него вытягивать. >ngif >AM Это что? Спасибо за ответ
>>1946970 >По итогу таблица умеет только красиво показывать данные Но нахуя? Содержание таблицы - локальные для этой таблицы данные, стор в частности и страницу в целом ебать не должно, что в ней лежит и как манипулируется.
>>1946900 Ты передаешь не строку, а результат вырадения функции, который строкрй не является. Пиздуй в начало учебника к опрелелениям типов данных изучать что такое СТРОКА, ЧИСЛО, БУЛ, ОБЪЕКТ
Я отрендерил список элементов в вью из массива объектов через v-for item in items либо в реакте через items.map(item => ...), и мне нужно при нажатии на элемент сменить какое-либо значение в объекте с данными, на основе которых элемент был отрендерен, то есть нужно в массиве с объектами найти нужный элемент, например через find, потом я меняю этот элемент в массиве, и после этого будет ререндер всего списка? Если верну новый массив то будет скорее всего, да? А если я мутирую старый массив через обращение к найденному элемента по индексу (вместо find findIndex)?
>>1944400 Мля, лол, это ты тот шизик, который назвал несуществующий алгоритм, а потом когда я попросил дать любую ссылку, где он освещается, ты просто ничего не ответил? Советую принять таблетки, ты наглухо ебанутый шизофреник.
мимо анон, спрашивающий у этого овоща про несуществующий алгоритм и так и не дождавшийся ответа.
Кто занимался менеджментом памяти в браузере? Допустим, пустая вкладка у меня в хроме ест 40 мегабайт (смотрю память по shift + esc). Если я создаю массив из миллиона строк, память вкладки прыгает к 200 мб. Если я через консоль чищу этот массив, память быстро возвращается к изначальным 40 мегабайтам.
Но если я заполняю массив не миллионом строк, а миллионом элементов (document.createElement('div'), например), при этом даже не вставляя их в DOM, то после чистки массива память с 450мб падает только до 120. То есть референсы почищены, а утечка памяти в 80 мб откуда-то взялась.
Это какой-то сайд-эффект от создания DOM-элементов?
>>1947330 >в программировании невозможно знать всё, поэтому вам нужно спокойно относиться к тому что вы чего-то не знаете
Бьёрн Страуструп. Расслабься и кодь на здоровье, пошли нахуй всех душных мудаков которые тебя расстрелять готовы за то что ты забыл как называется какая-нибудь хуйня. Я вот кодингом для удовольствия занимаюсь, не вкатываюсь, нихуя пишу что хочу. Бегаю по вашим тредам то сайты пилю, то прикладное по, что мне надо то и пилю. Книги читаю, но в основном наискосок и точечно по содержанию то что мне нужно знать именно в данный момент. И ты также делай, рекомендую.
>>1947007 Во-первых, что за селектор такой "thread-links" без префикса id или класса? У тебя создан кастомный тег <thread-links>? Что-то сомневаюсь. Во-вторых, судя по {% шаблонам %}, это не чистый HTML, а какая-нибудь джанга. Если там всё рендерится на сервере, JS тебе для твоей задачи вряд ли нужен.
>>1947357 Это готовый код, не я его писал. Там нужно только отредактировать то что находится в самой левой скобке из-за этого элемент один не там находится где должен
Посоны, сейчас надо было сделать кастомный чекбокс и я просто без задней мысли засунул вместо него свгшку. С одной стороны я понимаю что это ебанутое решение, а с другой не могу обосновать почему. Поясните плз. То есть код выглядит примерно так <ng-container [ngSwitch]="true"> <ng-container ngSwitchCase="state === 'checked'"> <img src="/images/checkbox-checked.svg"> </ng-container> <ng-container ngSwitchDefault> <img src="/images/checkbox.svg"> </ng-container> </ng-container>
>>1947361 В левой скобке находится строка-селектор. Почитай про css-селекторы, что это такое. Навскидку попробуй: $('#thread-links') или $('.thread-links')
>>1947390 заработало через # но с контейнером div родительским, а в список включиться на удаётся, но спасибо вам аноны, я более менее освоился почитал про css селекторы, думаю дальше сам уже справлюсь.
Есть li на 200 элементов, в каждом есть картинка как сделать что бы при клике на картинку открывалась модалка (react-modal)? На каждый li вешать модалку с обработчиком? Бред же
>>1947602 >На каждый li вешать модалку с обработчиком? Бред же Почему бред? Модалку конечно нужно в одном месте держать, но обработчик у каждого элемента будет свой, это абсолютно нормально. То есть что-то вроде: <li>onClick={() => showImageModal(image)}</li> Где showImageModal - это какая-то функция, приходящая из родителя.
>>1947547 Если это какой-то админский ресурс, то берут готовое решение, если для массового пользователя, то чаще свои компоненты пилят, иногда на основе тех же material, bootstrap и т.д.
>>1947685 Ну проект внутренний, для сотрудников, скажем так. Админка тоже нужна будет, поэтому я думаю не париться и взять какой нить react-admin или аналогичное что то на vue.
>>1947663 >часто приходится редачить компоненты готовые? Примерно между "никогда" и "очень часто". Чтобы точнее сказать, нужно дождаться провидца, который по постам тебе нагадает, насколько часто надо будет.
Правильно я понимаю что мне в работе фронтовиком и половины контента с лёрнжаваскрипт не пригодится? На каком этапе можно начинать учить react? И поясните какие новшества привносит ts и на каком этапе стоит учить и его.
>>1947602 Для такого случая как раз делегацию событий придумали, но Абрамов посчитал, что это слишком сложно для макак. Так что будешь костылить колбэк в родительском компоненте, который пропсом передаётся потомку, а тот уже через обработчик событий подставляет нужные аргументы в колбэк.
>>1947749 Пригодится 80% всего что там написано. Не пригодятся только некоторые моменты, например которые описаны в конце первой главы, в разделе разное.
Вот https://ru.code-basics.com/languages/javascript в принципе список той базы, плюс там же можно ее практиковать. Рякт учить только базы(2 главы кантора - должен знать основы(1 глава), и ДОМ события(2я глава)). После прыгаешь на рякт, когда на рякте напишешь апишку, уже можно щупать ТС и перепиливать апи на тс.
Хьюстон, we have a problem. После получения response от httpclient (anglular) и не могу пушить данные в другой компонент, пишет undefined. Я догадываюсь, что данные пушатся до их получения, как тогда делать типо функции then?
>>1947603 Юзабельны. Axios и redux-thunk это не необходимая часть редакса. Redux-thunk это типа такой middleware прослойка позволяющая использовать axios с async await в экшенах.
Что-то я в смятении. На работе дают такие задания, от которых хочется просто встать и уйти. Например, надо перевести одну гигантскую страницу из джанго-шаблонов на реакт. Самой этой страницы в рабочем состоянии нет, в джанго-шаблоне несколько десятков переменных, некоторые из них откровенно "волшебные". В итоге я просидел неделю - и даже не понял в точности, ЧТО я должен повторить на реакте. Стаж в JS десять лет, к слову.
Ребят, а есть смысл нанимать ментора чтоб помог отшлифовать знания по реакту учитывая что я знаю базу и продвинутые темы настолько это возможно будучи новичком?
>>1946462 Пиздос я 2 дня не могу понять что за хуйня происходит и только сейчас до меня дошло. У меня некоторые компоненты лежат внутри одного и того же файла. Но я сделал тупейшую глупость и держал инициализацию дочерних компонентов внутри родительских. И разумеется когда у родителя обновлялся стейт, сбрасывались стейты и дочерних, потому что они не просто обновлялись, а сам компонент пересоздавался заново. Какая беспросветная тупость с моей стороны. Но как я рад что смог найти причину проблемы
>>1947987 Неужели не понятно, что пендосы сейчас находятся в положении послемайданных хохлов, которые вынуждены клясться в лояльности Правому сектору/BLM просто чтобы не быть уничтоженными.
>>1948233 >клясться в лояльности Правому сектору Хуя промытая жертва телевизора. Кроме чустников правого сектора хоть кто-то вообще знает в Украине о его существовании?
>>1948235 >Хуя промытая жертва телевизора. Я перебрался в РФ в 2019-м году, до этого почти десять лет жил под Киевом. Правый сектор после майдана использовался именно для запугивания пересичных хохлов, на Донбассе они почти не воевали.
>>1948238 p.s. Но суть не в них, конечно. Суть в том, что сейчас в США есть "движения", которым нельзя сопротивляться никак. БЛМщиков с нелицеприятной стороны даже обсуждать на кухне довольно опасно.
Братцы, помогите плиз перенести этот простейший скрипт для Excel в JS для GoggleSheets, суммирующий числа в строке, игнорируя буквы и т.д.:
Function fff(dan As Range) As Variant Dim i Dim pri For i = 1 To Len(dan) If Mid(dan, i, 1) Like "[0-9]" Then pri = Mid(dan, i, 1) Else pri = " " fff = fff & pri Next fff = Application.Trim(fff) fff = Application.Substitute(fff, " ", "+") fff = Evaluate(fff) End Function
>>1948255 > JS для GoggleSheets, суммирующий числа в строке, игнорируя буквы Всё что могу тебе бесплатно сделать. > 'sdf23f123d23das'.match(/\d/g).reduce((a, e) => +a + +e)
>>1944376 (OP) А где тестовые задания на миддла достать, кто знает может? Хочу попрактиковаться и поднять ЧСВпрежде чем претендовать на 250+к в ДС. Сам миддл в одной известной галере, с impostor syndrome, потому что пишу копируя код из старых проектов или стэковерфлоу.
>>1948106 >просидел неделю - и даже не понял в точности, ЧТО я должен повторить на реакте Опиши всю свою боль тех.лиду, пусть ставит задачи точнее. Это же очевидно, не? >На работе дают такие задания, от которых хочется просто встать и уйти -регулярно пересматриваешь резюме -регулярно откликаешься на интересные предложения, может что и выгорит Ключевое слово - РЕГУЛЯРНО.
>>1944387 >не думаю, что у тебя хватит денег для оплаты хотя бы 10 минут моего времени Ты уже их потратил, отвечая на этот пост. >Мог бы конечно придумать что то похожее, сгенерировать набор данных и написать рабочий код Да, мог бы реально блеснуть знаниями, вместо маняфантазий о собственной охуенности, но, сам видишь, на что ты реально потратил 10 минут.
>>1948310 >А где тестовые задания на миддла достать хуй знает, интернет еще не изобрели, поспрашивай у знакомых мож кто нить переписывал на листочек с собесов
>>1948345 Просто реально такое бывает когда сидишь долго на одном месте и привык действовать по определенным шаблонам. Что нам кажется очевидным, для других порой откровение. Я проходил через такое.
Алгоритмы не нужны для 99,999% макак. Что нужно из хард скилов большинству макакичей для непрерывного росту и преуспеяния на поприще погромоуирования, но на что большинство срало с самой высокой пальмы 1) Фаулер, дядя Боб, Эванс и др 2) Тестиравование 3) Девопус, но тилько для самообслуживания
>>1948354 >поспрашивай у знакомых Вот я и спрашиваю, здесь же все мои друзья. >мож кто нить переписывал на листочек с собесов Скиньте, если удалось сфоткать.
Нужно заполнять некую веб-форму на чужом сайте. Как это сделать своим скриптом?
Например, скрипт рисует всплывающее окно с textarea, куда я вставляю блок текста, нажимаю кнопку, скрипт парсит текст, заполняет нужные поля поля оригинальной формы, и отправляет её.
Как организовать такое? Сам скрипт я написать могу, естественно.
А можно ли такое делать с помощью какого-либо веб-клиента, чтобы полностью автоматизировать заполнение? Капчи там нет.
>>1948409 Нет. Устаешь, разумеется. Но от усталости раздражения и неприязни к области и тем более к изучению не возникает. Если теья что-то провоцирует на эмоцию триггерющую "дропнуть обучение" это звоночек.
Любознательность и пытливость не может исчезать в областях, к которым ты лежишь, а не силишься.
>>1948425 Поспать. Погулять на свежем воздухе. Отвлечься на что-то другое.
>>1948400 Вопрос снимается. Там реально пиздецовый html, вместо кнопок - таблицы в дивах (лол), и прочая жесть. Это что-то типа Java Server Faces или какая-то подобная лютая хуйня, с кучей скрытых зависимостей и неявных скриптовых привязок. Т.е. разбираться в этой хуите слишком долго и дорого.
>>1944376 (OP) Хочу написать расширение под хром, которым можно будет скрывать комментарии от всяких долбаёбов на ютубе. Выборочно. Что бы нажал на кнопку напротив коммента и в других видео эти дегенераты потом не отсвечивали ни под какими видео. Из всего, что я нашёл был только плагин вообще отрубающий комментарии под видео полностью, без возможности включить их обратно, только если удалить плагин полностью.
Но в кодинге я полный ноль, лет 10 пытался осилить, но было скучно. Посоветуйте с чего начать, плиз.
Что делать если нужно чекнуть разрешение экрана средствами ЖС во многих компонентах? Где можно чекнуть его один раз и раздать всем? Так вообще стоит делать или пусть каждый компонент сам чекает разрешение? Такие вещи стоит в стор пихать?
>>1948371 >я чё должен наизусть все методы знать? 1. С опытом да, ты будешь знать большинство методов, по крайней мере факт что они есть. 2. Ты должен понимать, что нужно сначала посмотреть нет ли случайно такого метода уже в стандартной библиотеке/ramda.js, а потом уже хуярить свои костыли. На это уйдет всего пара минут.
>>1948533 А что удивительного? На ДЖС куча модного, трендового, интересного.
При желании, и джиквери легаси можно превратить в интересный таск по организации кода и логики. Ты ведь понимаешь, что проблема не в самом джиквери, библиотечка то норм, проблема в индусском подходе к программированию.
>>1948559 >нужно сначала посмотреть нет ли случайно такого метода уже в стандартной библиотеке Для такого и существуют все эти оверфловы и чатики, если конечно ты не предлагаешь ПРОСТ взять и всю доку выучить нахуй целиком
>>1948564 Да все эти строчки регулярно крутятся и всё помнится, какие оверфловы. Если ты такой склерозник, то ставишь точку после строки и смотришь варианты иде какие есть подходящие по смыслу.
>>1948540 Это зависит от того, пихает ли гугол айдишники, привязанные к аккаунтам, в посты или нет. Скорее всего нет и ты только сможешь скрывать по постам, типа как на дваче. Можно конечно парсить имена и скрывать их, или там по файлу в аватарке скрывать, или по определённым ключевым словам, но в целом это не будет работать 100%. >Но в кодинге я полный ноль, лет 10 пытался осилить, но было скучно. Посоветуйте с чего начать, плиз. В шапке на mdn есть гайд для вкатышей, там как раз разжёвывают html/css/js, как раз то что тебе нужно для реализации кнопки скрывания.
>>1948591 Окна браузера в общем. То, что чекается к примеру window.matchMedia("(max-width: 800)").matches Просто не знаю, это нормально такое к примеру раздавать через стейт менеджер? Куда это можно засунуть, прямо в стор?
>>1948559 Если честно у меня на кодварсе тема такая с регулярными выражениями, нахождение подстрок, поэтому надо было через велосипед делать. От того, что я тупа метод найду, больше понимать не стану, а цель именно такая
Есть табличка: | плата за час | <input type=text> объем | 1 день | неделя | сообственно нужно на jquery по вводу в input брать значение из предыдущего <td> умножать на введенную в инпут цифру и выводить в следующий <td>
Если кто поможет написать за спасибо - с меня спасибо.
>>1948626 Блядь я в питон тредах народу ебаные сотни раз писал задаром и не пиздел, а куда не ткнусь - что к вам-жс-пидорасам, что к свифтоебам - так элементарную дрисню на 3 строчки все ленятся помочь написать Хуею просто. А сколько б ты за эту хуйню попросил? 0.2 биткоинов хватит?
>>1948627 и да, ясен хуй что я не зная жса вообще, за вечер и сам напишу, но сука если тебе вломы подсказать околопсевдокодом как эту хуйню по-человечески высрать input.onkeypress { $current_td = selector(:nth-child()) price = selector(:nth-child(-1).value() 1day = selector(:nth-child(+1)).value(price*24) }
>>1948627 Чел тут ценятся вопросы про теорию, общие вопросы. Нигде тебе не будут отвечать кучей строк кода, что бы решить твою проблемку, тут у каждого второго куча таких личных вопросов. Напомню - у профессионалов ценится самостоятельное умение находить ответ на вопрос, гуглить. Будь сильнее и умнее.
>>1948611 Достаточно уникально. Базовые классы выглядели бы так: https://codepen.io/Jumpy_Bunny/pen/XWNeJLv Как из расширения получить доступ к дому - это уже надо доку к апи расширений читать. Но условно секция с камментами - один родительский элемент с кучей дочерних элементов. Цель расширения - прикрепить кнопку "Скрыть" к каждому комменту. В зависимости от реализации скорее всего придётся рекурсивно пробегаться по элементам, чтобы кнопки налепить, так как на трубе есть вложенность. При клике по кнопке "Скрыть" должно появлятся поле для ввода текста с указанием причины и при подтверждении ссылка на канал, тело поста и причина скармливаются в инстанс BlockedUser, который идёт аргументом в UserBlockController.addUser(). Самая ёбля будет со сравнением списка комментариев со встроенным списком. Так как труба грузит их клиентскоим скриптом, как таковых "стадий" в загрузке нет, так что скорее все придётся пердолиться с Proxy/таймерами/листенерами, иначе работа скрипта будет выглядеть как: - Комментарии загружаются. - Потом некоторые из них пропадают. Плюс ещё при прогрузке новых комментариев тоже нужно запускать проверку.
>>1948792 Так в классическом понимании функций в жс нет, только объекты. Больше ничего. Есть еще примитивы, но их можно тоже рассматривать в качестве синглтон объектов, потому как они боксятся, а сделаны разумеется для производительности. (тем более что сейчас ничего не мешает у примитивных добавить в цепочку прототипов прокси объект, отлавливащий сообщения, типа присваивания, и реалиховать поведение прототипов как полноценных объектов, но это ни к чему. проще воспринимать их как синглтоны. когда надо, любой примитив можно обернуть в полноценный независимый объект). Так. Короче только объекты. Все объекты делятся на callable и non-callable. Callable это функции, в понимании большинства. Но по факту это все те же объекты, со всеми свойствами что и у других. Все объекты могут принимать всего несколько типов сообщений - get, set и call. При чем call может принимать только callable объект. при попытке послать call сообщение не-callable объекту будет исключение. Сообщение get содержит один параметр, сообщение set два. Сообщение call параметром содержит кортеж аргументов, а так контекст this. Если в объекте (а так же в цепочке прототипов) не назначены слушатели для get и set с определенными параметрами, ищутся слоты с такими именами в объекте и по цепочке. Если находится возвращается то, что в них лежит. Если в них лежит callable объект и ему посылают сообщние call сразу как получили его из слота, то у него будет перегружен контекст (this) на объект из чьего слота его получили. Если только этот объект не был сконструирован стрелочным синтаксисом, иначе контекст перегрузить нельзя. Если после получение callable объекта из слота его сразу не вызвать, а например положить ссылку на него в переменную, то контекст будет сброшен на тот, который был установлен у него в момент его создания (и это не обязательно будет тот же объект из чьего слота его получили). У callable объектов есть scope (область видимости) и контекст (this) в момент посылки им сообщения call (вызова). scope средствами языка перегрузить нельзя, но некоторые окружения позволяют (например в ноде есть модеуль vm), this перегружается у callable объектов сконструированных не-стрелочным синтаксисом Классов нет. Есть конструкторы. Любой конструктор принимает новый созданный объект, которому выставлен определенный прототип (другой объект). Оператор instanceof (someObject instanceof SomeClassName) проверяет лишь есть ли в цепочке прототипов у someObject объект который лежит у SomeClassConstructor в слоте с именем prototype. На сам конструктор ему поебать. Чтобы сменить класс, достаточно сменить цепочку прототипов. Даже если объект был сконструированным определенным конструктором. Так же у объектов есть параметр ограничения доступа, контролирующие его расширяемость или изменяемость (sealed, extensible, frozen). У слотов объекта есть параметры configurable, enumerable, writable. Параметры слотов объекта не влияют на объекты, что в них лежат. Они лишь контролируют доступ к самим слотам. Все. Никаких классов. Никаких интерфейсов. Как отдельных сущностей. По факту все есть объект и все строит из них. наследование реализуется выстраиванием цепочки прототипов. Инкапсуляция только на уровне scope'в (читай замыканий). В остальном все меняется и все динамично, если только специально все не зафризить в момент конструирования. Но обычно этим никто не заморачивается по причине оверхеда и бессмысленности. Разве только фанатики по иммутабельности, н это все из разряда те, кому надо чтобы им по рукам бил компилятор\рантайм\дядя петя. Все "привычные" понятия тянуться в язык для еще более простого вкатывания тех, кто приходит из других языков. Так уж сложилось, что есть куча литературы по привычному, статически классовому ООП, но очень мало по мессадж-пассинг\прототайп-базед\мета-программинг. Все эти притянутые понятия выливают в синтаксический сахар, который не делает ничего полезного, а даже наоборот, еще больше вносит путаницы и от того непонимамания многих вещей в языке. При этом часто этот синтаксический сахар дэже урезан и вспомнинают об этом лишь после (как например проебались с полями в конструкции class и тянут ее теперь только в proposol'ах будущих версий). JS истинно объектный язык. В современный язык притащили много вкусных вещей для метапрограммирования. Нову примитивную сущность Symbol, и Proxy-объекты. С помощью которых можно еще больше и сильнее перегружать и менять поведение в динамике. Другое дело, что почти никто не умеет этим пользоваться и не понимает, что такое объектное программирование на самом деле. Им нужно не объектное, а статически типизированное. А какие именно структуры будут скрываться за этими типами, не собо важно. Важно что это просто структуры и функции, строго привязанные к ним, или иногда менее строго. То, что в Java\C++ это больше структурное программирование, нежели объектное. Объектное программирование не может существовать без динамической среды. Это противоречит самому понятию объекта. А динамическое программирование это слишком сложна и непанятна. И как бы не старались с пеной у рта фанатики кричать про низкий порог входа - низкий он именно что для входа, а не для всего остального. Модификация программ в рантайме всегда было уделом креативно мыслящих людей. Для большинства это слишком сложный уровень высокой абстракции.
>>1948799 JS такой язык, что чем меньше фич ты из него используешь, тем поддерживаемый код получается. Главная сила языка это функции (можешь называть их callable объектами) и возможность использовать их как значения, что вкупе с замыканиями позволяет писать очень гибкий код всего лишь несколькими средствами. Объекты должны рассматриваться только как хешы "ключ-значение", без каких-либо методов с this'ами внутри. Symbol, Proxy и другие фичи это излишние лоулвльные абстракции.
Писать продакшн код в подобном "динамическом" стиле с переопределением прототипов никто не даст, потому что это неподдерживаемая хуйня. Абстрагирование от лоулвла языка как раз для того и делается, чтобы код был более надежным и легкочитаемым. Кроме того, предметная область JS просто слишком высокоуровнева, нет смысла дрочить метапрограмминг для обработки клика по кнопке или редьюса стейта.
Но с пастой можно согласиться в том, что сейчас, к сожалению, зумерам нужно чтобы было "панятна", но только не в плане "просто выражать комплексные абстракции", а в плане буквально простоты написания кода, им нужны простые абстракции.
Вон редакс уже "сложный", зачем понимать разделение на экшны и редьюсеры, если можно просто в мувисерчере переменные присвоить как в МобХ, и норм.
>>1948846 >вкупе с замыканиями С захватом переменных хотел сказать? >нет смысла дрочить метапрограмминг для обработки клика по кнопке Конкретно в ситуации с ютубокомментами скорее всего придётся дрочиться с метапрограммированием, так как желательно неугодные посты скрывать до добавления в дом, ну или хотя бы до рендера. И кнопки соответственно не добавлять в неугодные посты.
>>1948624 >>1948544 В общем тут дело в чем, реакт ведь не будет сам по себе обновлять компонент при ресайзе, что-то должно вызывать ререндер. В моем случае я вешаю эвентлистенер, и когда происходит ресайз, вызывается функция, которая чекает текущее разрешение, и соответственно от этого обновляет стейт и в компоненте происходят условные рендеры. Так вот, дело в том, что такой эвентлистенер вешается сейчас отдельно в каждом компоненте. Можно ли к примеру такой эвентлистенер создать где-то для всех компонентов сразу? Можно ли создать эвентлистенер в сторе и там же держать какую-то переменную, которая говорит, какой шириниы сейчас вьюпорт, типа 1024-1980, и все компоненты будут просто брать только это значение из одного места. Или это может како-то плохо работать?
>>1948827 Я тестировал, даже issue им писал. По сравнению с тупой сменой класса в sc идет интерполяция здорового шаблона (многократная если активно используешь хелпер css), вычисление какие классы надо добавить и удалить, генерация стилей с префиксами и вставка в style. Пока я не оптимизировал интерполяцию у меня SSR занимал 200 мс где-то, что, конечно, вообще ни в какие ворота.
Внутри компонента создаю функцию renderPosts которая мапит массив обьектов и передает их в другой компонент, далее renderPosts вызываетс в рендере, это норм? Или нихуя?
вкатился к вам из джаба треда. Планирую написать несколько пет проектов потренировать бэкэнд Джабоскрипт год назад пробовал, реакт пробовал, верстку изучил, вебпак чуть чуть трогал.. Но потом забил на это дело а несколько месяцев назад решил вкатиться в джабу серьезно. Писать фронтэнд сейчас лень (может потом ближе к отправке резюме подниму тему и освежу память), я сейчас хочу написать несколько пет проекктов по джабе и около нее (может даже без гитхаба) чтоб потренировать спринг секьюрити, спринг дату и прочее говно. Можно конечно использовать постман, но мне хочется с UI. Так вот, вопрос, где бы мне надыбать готового фронтенда с версткой? С нормальной версткой - хорошо. С готовыми реакт - компонентами еще лучше, асинхронные запросы, стейт и прочее говно.
Есть ли какие-то ресурсы подобные на уме? Помню давным давно когда только вкатывался подписался на хтмл академи (фу, знаю), у них там рассылочка была с макетами фотошопными. Но мне макеты нахуй не нужны. Мне бы верстку хотя бы.
>>1949087 такую я и сам напишу. мне бы что-то типа интернет магазина или бложика. Хочу опробывать спринг дату, спринг бут, спринг секьюрити, монго, тдд и прочее говно в бою
Аноны, я бекенд-макака, ща в своем пет-проекте валандаю клиентский JS, нативный. Пишу на классах, собираю в кучу вэбпаком. Без реакт/вью/ангулар. Но что меня вымораживает - это именно постоянная связка объектов с объектами DOM. Особенно это геморойно при AJAXе на клиент, и всякие анимации. Создание новых элементов и вставка их в страницу. Выглядит это все косорыло. Хотя я стараюсь по максимуму не тыкаться в DOM, у каждого класса своя привязка к "элементам странички". И из других объектам я к этим "элементам страничики" стараюсь обращаться с помощью объектов которые ими управляют. Хотелось бы посмотреть JS код хорошо сделанной какой нибудь сложной формы, где много логики, анимаций и AJAX. Что бы пример был , что бы я со своим поделием сравнил.
>>1949131 >Создание новых элементов и вставка их в страницу. Выглядит это все косорыло. Думаешь просто так всякие рякты взлетели, которые по сути ещё и шаблонизацию в клиентский код занесли? >И из других объектам я к этим "элементам страничики" стараюсь обращаться с помощью объектов которые ими управляют. То есть ты добавляешь прокладку из объектов к объектам? ООП головного мозга как есть. >Хотелось бы посмотреть JS код хорошо сделанной какой нибудь сложной формы, где много логики, анимаций и AJAX. Что бы пример был , что бы я со своим поделием сравнил. Какая нахуй анимация в жс, тем более в формах? ЖС максимум что может сделать - переключить классы в элементе в зависимости от событий, а свистелки и перделки задаются стилями.
>>1949141 > ЖС максимум что может сделать - переключить классы в элементе в зависимости от событий, а свистелки и перделки задаются стилями. Жс может в CSSOM и Houdini API.
>>1947998 А в чем смысл асинк эвэйта в экшенах? Если у меня триггер редакса происходит в кастомной асинк функции, после получения результата от сервера? Или для того что бы не писать эту кастомную функцию?
>>1949141 >То есть ты добавляешь прокладку из объектов к объектам? ООП головного мозга как есть. Проиграл с дурачины, у которого очевидный, правильный и очень удобный паттерн "я не дергаю элементы на страницы напрямую каждый раз, а прокладываю между ними и остальным кодом стабильный интерфейс, скрывающий детали имплементации" превратился в "ООП головного мозга". Причем триггер произошел именно на слово "объекты", если бы там была "прокладка из функций", то ты бы наверное от счастья описялся, хотя никакой реальной разницы между двумя реализациями не было бы, интерфейс есть интерфейс. мимо
Поясните за реакт, есть массив обьектов если я полностью заменю этот массив новым это не гуд тк все компоненты которые пользуются обьектами из этого массива перерендерятся? Т.е нужно искать нужный элемент в миссиве и мутировать его?
Поясните за реакт. В рабство наниматься не собираюсь, нужно для собственного проекта. Какие у него пререквизиты и насколько сильно нужно задрачивать жс с вёрсткой? Есть ли там что-то, что помогает или упрощает последнюю?
>>1949395 >если я полностью заменю этот массив новым это не гуд тк все компоненты которые пользуются обьектами из этого массива перерендерятся В памяти перерендерятся, на экране - нет, если не поменялись. Ничего страшного нет, сто твоих перередеренных туду-листов на производительность не повлияют никак. >Т.е нужно искать нужный элемент в миссиве и мутировать его? Реакт о твоем мутировании нихуя не узнает и ничего поменять не сможет.
>>1949405 Просто бери готовый фреймворк(next какой-нибудь) и иди по гайдам. Без опыта на пустом реакте ты не напишешь ровным счетом нихуя, кроме совсем простейшей хуйни, которую в сто раз легче было бы сделать через обычные серверные html-шаблоны любого бэкенд-фреймворка(джанго, рельсы, ларавель) с минимум жопоскрипта.
>>1949410 Как показывает рынок - реакт одно из самых удачных решений для подобного. Я лучше посижу подольше но сделаю один раз хорошо ибо если потом всё выгорит то тратить деньги и переписывать всё на что-то более существенное будет глупо.
>>1949416 >сделаю один раз хорошо Это не про реакт, у которого устоявшейся инфраструктуры нет от слова совсем, только монструозное bloatware уровня material-ui или react-select, где список одних параметров компонента занимает половину файла, либо низкоуровневые "собирай и ебись сам" конструкторы. Первый и не только первый самостоятельно написанный проект на реакте ты 100% выкинешь и будешь переписывать с нуля.
>>1949370 >"я не дергаю элементы на страницы напрямую каждый раз Чтобы поменять отображаемое значение на странице, тебе в любом случае придётся дёргать дом, хоть ты там десятью декораторами обмажься. А проводить вычисления за пределами дома ты и без прокладок можешь. >а прокладываю между ними и остальным кодом стабильный интерфейс, Не поверишь, но с домом ты уже общаешься через интерфейсы. Или интерфейсы не те? >скрывающий детали имплементации" Что ты там собрался скрывать на клиентской стороне, дебил? Любой идиот сможет посмотреть сырцы твоего говнокода, скрыватель хуев. >превратился в "ООП головного мозга" Так это и есть ООП головного мозга, так как ты тащишь свои привычки из другого языка. >если бы там была "прокладка из функций" Вот именно, что её бы не было.
>Есть ли там что-то, что помогает или упрощает последнюю? Нет, Реакт не делает абсолютно ничего чтобы упростить верстку, он исключительно про иерархию UI и передачу данных. Более того — либа для работы с DOM отделена от собсна Реакта.
>>1949422 Пчел, ты даже не знаешь, что такое "скрывать детали имплементации" и думаешь, что это означает "прятать сурс-код от конечного пользователя", нахуя вообще в дикуссию влез? Вся суть ФП-шизиков, год поработал, а мнение имеет.
>>1949426 Почему плох? Реакт заебись, проблема именно в инфраструктуре, а точнее в ее отсутствии, из-за чего перед вкатывальщиком стоит альтернатива либо хуярить свои велосипеды, которые потом за три жизни не разгребешь, либо тащить в проект 60кб минифированного кода для того чтобы добавить инпут с дропдауном. >>1949428 >какое отношение ui-элементы имеют к разработке UI Ну я даже не знаю...
>>1947026 >и мне нужно при нажатии на элемент сменить какое-либо значение в объекте с данными Во вью достаточно повешать @click="handle(item)"
>>1947052 Какая магия? У них в доках везде написано что на все объекты рекурсивно вешается реактивность, твой массив становится реактивным, и каждый объект в нём становится реактивным, и если в объекте есть еще объекты то и они становятся реактивными.
>>1949511 >У реакта наоборот самая развитая инфраструктура У реакта(и у жса в целом) нет даже элементарных вещей, нужных 99% приложений, уровня неймд роутинга("бест практика" - это хуярить сырые строки в 10 местах, <Link to={`/users/${id}`}/>) или базового API клиента с тестовым интерфейсом(см. сосущий даже у фетча аксиос с раздутым конфигом и ебанутой системой интерсепторов, выкидывающий по умолчанию не-200 ответы вместе с сырыми эксепшенами или совсем охуевшие монстры вроде react-query, мешающие в одну кучу объявление эндпоинтов, получение данных, кеширование данных, рендеринг данных, и прибитые гвоздями к реактовскому API). А это самый низ приложения, когда идешь выше, то там вообще пиздец, что ни возьми: от форм до кастомных компонентов, все будет громоздким, неповоротливым, некомбинируемым и сделанным по принципу "захуярим сюда весь функционал, который в голову придет, и просто добавим 100 опций в конфиг".
>>1949515 Вершина развития стилизации - это как раз sass, у которого новая система модулей дает в рот даже самому жсу шел 2021 год, а жсеры до сих пор без плагина бабеля не могли установить рут сурса приложения и пользовались релативными импортами, кому расскажи - не поверят, а переменные, миксины и возможность без заебов складывать пиксели с хуикселями вообще ебут любые жсокостыли не разгибая уже сколько лет. Выглядит он так же в сто раз лучше, обратно совместим с сырым кссом, в консоли браузера ты сразу видишь ровно то же самое, что написал в коде, а не пропущенное через мясорубку жса месиво, так еще и работает быстрее, что при компиляции, что в браузере.
Господа! А есть ли какой-нибудь хороший ресурс, на котором уже есть какие-нибудь часто встречающиеся куски js-кода (аналог css tricks), дабы не изобретать велосипед там, где не надо?
>>1949537 В styled-components есть всё то же, но при этом в разработке они намного удобнее. Импорты давно есть в ts, переменные и миксины удобнее в styled-components, выглядят styled-components в сто раз лучше, и в консоли там всё нормально выглядит. Работает sass быстрее насколько, на тысячную секунды? Если взять linaria, то sass ни насколько не быстрее.
>>1944376 (OP) Как же заебали пиздатые окна про куки, которые невозможно закрыть, блядь! Кто эту хуйню выдумал? Нахуй вообще нужны эти окна ебучие, на пол экрана? И почему их закрыть, блядь, нельзя, или свернуть, а надо обязательно принять эти грёбанные куки? Почему эти div'ы пиздатые, приходится вырезать вручную, из HTML-кода страниц? Не хочу я ебучие куки ваши, пошли нахуй, я хочу сайт посетить и контент прочитать, за которым пришёл из поиска!!! Но нет, сукаблядь, вылазит окно на пол экрана. Прими ебучую куку! Я уже заебался Ctrl+Shift+Delete нажимать и вычищать нахуй это говно из браузера. Срут куками мне в хранилище локальное, а потом всё виснет, и синий экран смерти при гуглеже вылазит, в самый неподходящий момент. Конечно, блядь, гиг оперативки жрут куки, нахуй мне в броузере не упавшие. Пошли нахуй со своими куками, и окна уберите эти уёбищные, заебали блядь. Веб-макаки мамкой с папкой, до конца недопиленные. Копипастят хуйню, а потом на сайты лепят, чтобы поскорей, и такие уёбищные страницы получаются, что хоть сиди и адблоком, вручню, всё это говно вырезай...
>>1949571 Можешь съебать в китайский интернет тогда, там ЕвроСоюз (Германия) практически не имеет влияния, и соответственно никакого GDPR. Ещё каких-то макак обвиняет, лол.
>>1949572 >Можешь съебать в китайский интернет тогда, там ЕвроСоюз (Германия) практически не имеет влияния Я лучше в LAN буду сидеть, здесь на весь ЕвроСоюз мы тоже срали все, с высокой колокольни. У нас тут ваще, отдельная сеть, независимая, бгггг.
>>1949587>>1949642>>1949648 Речь не о самом реакте, а об его инфраструктуре, то есть о тех самых "подключаемых библиотеках", которых нет в помине и даже базовые вещи надо писать с нуля.
>>1949760 Потому что функции вызываются каждый раз при событии. Тебе их нужно объединять в одну, которая будет знать, какой эвент в данный момент выполняется и отменять его при запуске нового, но это слишком сложно будет, если только начал. Выпадающие менюшки лучше делай просто через css, примеров можешь миллион найти, в том числе и с анимациями. Но анимацию лучше вообще убрать нахуй, это только раздражает пользователя, если ему нужно ждать прорисовки твоей хуйни прежде чем можно начать ей пользоваться. >>1949772>>1949773 Как обычно шизики стриггерились на жквери, но сидят молчком, как только им задают вопрос "а хули ты предлагаешь вместо?". Еще давайте высрите, что ему срякт нужно начать осваивать, чтоб менюшку сделать.
XMLHttpRequest вообще нужен в современной разработке по факту? Спрашиваю, потому что не хочу читать немаленькую главу Кантора про какую-то историческую хуйню.
>>1949648 Как ты будешь SPA (основная ссуть реакта) без них писать? Вручную пердолить ссылку в навигаторе и пропукивать джейсоны через фетч? О том и речь. >>1949760 >Где я ошибся, анон? Анимируешь в жс то, что элементарно делается в CSS без ёбли с ассинхронщиной. >>1949795 >удалил нахуй жиквери Так ты селекторы оставил и события неканонично присвоил.
>>1949823 >Анимируешь в жс то, что элементарно делается в CSS без ёбли с ассинхронщиной. В ксс анимацию можно сделать только через display:none; display: block А в скриптах можно делать плавный переход fadein, поэтому я скрипты и начал писать
>>1949827 >В ксс анимацию можно сделать только через Вот зачем ты пытаешься о чем-то утверждать с умным видом, если сам ВООБЩЕ не разбираешься в этом. Ты в своем уме? Нахуя так делать?
По существу - нет, ксс может делать ЛЮБУЮ анимацию.
"Given a date string in the form Day Month Year, where:
Day is in the set {"1st", "2nd", "3rd", "4th", ..., "30th", "31st"}. Month is in the set {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}. Year is in the range [1900, 2100]. Convert the date string to the format YYYY-MM-DD, where:
YYYY denotes the 4 digit year. MM denotes the 2 digit month. DD denotes the 2 digit day."
Мое решение на скрине. Что в нем имело бы смысл поменять? Есть ощущение, что оно как говно выглядит.
>>1949839 Очко себе сделай опасити. Эта хуета занимает место в итоге в потоке, блок надо убирать z индексом пониже. Есть еще пердолинг с кейфреймс, но это именно уже пердолинг и костыли. А речь шла про >что элементарно делается в CSS без ёбли с ассинхронщиной. В итоге все проще сделать в JS, теперь можешь вытереть мою сперму со своих губ, я кончил.
>>1949839 Вообще говоря css анимация обосрется когда элемент начинаетет влиять на поток и расположение других элементов. Браузр тупа такую анимацию вырубает и востпроизвогит только начальное и конечное состояние. Тут без жс не обойдешься https://css-tricks.com/animating-layouts-with-the-flip-technique/
>>1949844 >Эта хуета занимает место в итоге в потоке Вот только мы говорим про абсолютно спозиционированный элемент, который из потока выпадает по дефолту. Так что ты тут жиденько обосрался, опять. >Есть еще пердолинг с кейфреймс, но это именно уже пердолинг и костыли. А вот ставить жиквери, который по сути этот кейфреймс заинлайнит, это конечно же не пердолинг.
Могу ли я прикрутить server-side-rendering к моему SPA приложению на реакте, чтобы ускорить его первую загрузку? Уменьшится ли количество js кода в отрендеренной странице? Логика ведь не может магическим образом испариться, а раз туда добавится еще отрендеренных html, то это только увеличит время загрузки сайта, и мне кажется рендеринг на сервере + загрузка будет дольше чем рендеринг на клиенте, тем более у меня какого-то ебического сервака. В теории будет круто сразу на сервере получить динамиский контент не тратя время на запросы и загрузку, но не надо ли будет все эти запросы переписывать?
В общем есть ли какие-то плюсы у этого подхода и можно ли его реализовать малой кровью?
Можно ли как-то заставить компонент реакта думать, что элемент, в который он в писан это окно? Например если я открываю отдельную страницу, они проверяет размер window и в зависимости от этого применяет стили. А вот если эту страницу вставить в модальное окно, то компонент должен считать размер этого модального окна и применить стили в зависимости от его размеров. Можно ли как то сделать проверку размеров окна универсально?
>>1950148 То как ты это описал звучит крайне хуево как по мне. Проще передавать эти значения в сам компонент, где-то брать из window (задать как дефолтные значения), где-то из размеров модалки. А еще лучше сделать на стилях, но тут сложно что-то посоветовать без конкретного примера.
>>1950153 Забыл дописать, компонент, который хочу вставить в модалку использует и медизапросы css и проверку размеров окна средставми js. И компонент можно было бы вообще не трогать, если бы просто можно было как-то заставить компонент думать, что он просто находится в окне меньшего размера
На javascript.info пишут To make the range object iterable (and thus let for..of work) we need to add a method to the object named Symbol.iterator (a special built-in symbol just for that).
То есть это подразумевает, что на обычном объекте это свойство уже есть. В тоже самое время const obj = {} obj[Symbol.iterator] выдает ошибку. Почему?
>>1950192 Пишется, что для того, чтобы объект имел возможность быть итерируемым - нужно добавить метод Symbol.iterator. Ты же пытаешься вывести свойство, которого нет. Так не работает, сначала нужно его определить.
>>1950194 Так в статье добавляют этот метод чтобы работал for of. По объектам он и так работает, хотя этого метода нет (точнее должен быть, но у меня почему-то ошибка вылезает) https://javascript.info/iterable
>>1950200 Шиз, итерация это метод, у главного объекта он отсутствует, этот метод надо ему передать напрямую или накинуть прототип от другого объекта, у которого есть метод итерации
>>1949695 В реакт экосистеме на любой пук есть библиотека.
>>1949823 > Как ты будешь SPA (основная ссуть реакта) без них писать? Вручную пердолить ссылку в навигаторе и пропукивать джейсоны через фетч? О том и речь. react-router react-query
>>1950333 Не нравится то, что ты сравниваешь писание css-а через интерполируемые строки(!) в другом языке(!) с полноценным языком писания css-шаблонов, у которого другой цели в принципе нет, и где весь файл - это стили и ничего кроме стилей, и говоришь, что первое удобнее нахуй.
>>1950344 В styled-components есть всё то же, что и в css, и в sass, и даже больше — их можно юзать прямо в js файлах, в них удобно передавать пропы и на их основе устанавливать css-правила, в то время как в sass надо писать всратые классы либо data-атрибуты. Это некрасиво и неудобно. Темы тоже намного удобнее делать на стайледах, они сильно облегчают создание сложных интересов. У чистого sass буквально 0 преимуществ кроме мизерного выигрыша в перформансе, который нивелируется, если стайледы компилировать в css при сборке. То, что это интерполируемые строки — ну так какая разница? За последние два года я sass не использовал и возврат к нему это явный шаг назад, шаг в прошлое.
>>1950342 Я уже успешно создал несколько крупных проектов и везде react-router и react-query отлично себя показали. В одном из проектов был next.js, там свой роутер, который тоже выполняет свои задачи. И вообще нередко даже react-query не нужен был, хватало либо чистого фетча, где-то было кеширование от apollo.
>>1950363 Ну с XMLHttpRequest понятно, интерфейс уровня 2005 года, но на аксиос без ебли можно повешать свои мидлвары и крутить что хочешь, ну и прогресс аплоада файла еще можно получить (inb4 в 2021 файлы грузятся со скоростью света). А в фетче даже на 500 ошибки нихуя не выбрасывается, как ни крути а нужно своё говно лепить чтобы было удобно пользоваться
>>1950347 >styled-components Опа этот шарит, скажи на каждый ли див спан и тд нужно делать стилизацию? Или можно сделать врапер а вложенные теги стилизировать классами?
>>1950393 > Опа этот шарит, скажи на каждый ли див спан и тд нужно делать стилизацию? It depends. При таком подходе проще нестить стили.
> вложенные теги стилизировать классами Я бы не миксовал подходы с класснеймами и стайлд компонентами, только если ты не юзаешь Astroturf или что-то типа того.
>>1950472 >При таком подходе проще нестить стили В том смысле, что ты можешь интерполировать вложенные стайлд компоненты без завязки на класснеймы. С решениями типа линарии это вообще однохуйственно, т.к. за тебя конпелятор извлечет стили (а рантайм оверхед будет небольшим за счет варов).
Хардкодед класснеймы еще чем плохи - их имена могут манглиться, если кто-то внезапно поменяет конфиг сборки.
>>1950474 >Если в некоторых случаях описание слилей займет больше места чем рабочий код это норм? Норм, но мы определение стайлд комопнентов выносим в отдельный файл как раз для того, чтобы не мешать в одной куче рендер вьюхи с стилизацией.
>>1950478 >отдельный файл Блин у меня нахуй диссонанс , есть css scss бэм и это все тоже лежит в отдельных файлах, я думал что фишка sc как раз в том что все касающейся компонента и лежит в нем?
Короче пиздец я намучился с этим ебаным гугл сайн-апом но так и не нашел решение Чтобы было нагляднее, вот есть 2 индуса ебучих https://www.youtube.com/watch?v=-OgU5EAcQmo и https://www.youtube.com/watch?v=5-jBzkttbx0 они оба делают абсолютно тоже самое, но у одного вылазит поп-ап, а у второго редирект на страницу гугла, и я тупо не понимаю, в чем моя проблема? Потому что мне надо именно чтобы был редирект, а не поп-ап
Есть ли какие-то подводные у useLayotEffect, если туда засовывается не очень тяжелое вычисление? У меня при первом открытии страницы очень быстро блинкуют некоторые стили, которые берут параметры от размеров окна. И если я чекаю размер окна просто useEffect-ом, то сначала происходит первый рендер, а уже потом все показывается в том виде, в котором должно после получения размеров окна. А вот useLayoutEffect чекает размер окна еще до первого рендера. Мою задачу это решает, просто хочу узнать, можно ли как-то обосраться с его использованием? При условии что там ничего асинхронного происходить не будет
>>1950517 useLayoutEffect синхронный и блокирует отрисовку (painting) страницы браузером, а useEffect нет. В этом все отличие. Собсна именно для твоего случая он и предназначен.
>>1950529 Заебись. А то не знал как избавиться от этой проблемы. Странно что про такую возможность сходу не поясняют в разных уроках. Вообще случайно про этот хук узнал
>>1950493 Ты бы сам хоть попробовал эту хуйню с первого видоса локально запустить, чтобы увидеть, что она открывает форму в отдельном окне. Чтобы редиректить можешь просто вызывать window.open() и передать в нее https://accounts.google.com/o/oauth2/v2/auth с нужными параметрами и после обратного редиректа брать код/токен и дальше делать что тебе надо.
И лучше бы вместо просмотра этих уебищных видосов изучил оф доки гугла по oauth, гораздо быстрее было бы.
>>1950366 >А в фетче даже на 500 ошибки нихуя не выбрасывается Это плюс, дурачок. http-клиент не должен выбрасывать экспешены при получении не-200 ответа сервера, это ебанутый нонсенс. Если у тебя выкидывается эксепшен где угодно(включая http-клиент), то это должно означать пиздец, неожиданность, все не работает нахуй. Как пример - NetworkError, SyntaxError, TypeError и т.д. 500 ответ сервера таким случаем не является, его нужно нормально обработать и сказать клиенту "сервер на этот запрос чутка долбоеб, попробуй еще раз по-другому".
>>1950672 >Если у тебя выкидывается эксепшен где угодно(включая http-клиент), то это должно означать пиздец, неожиданность, все не работает нахуй. >500 ответ сервера таким случаем не является, его нужно нормально обработать У меня такое чувство что ты предлагаешь вместо try/catch ошибки ифами обрабатывать. И еще объясни, в чем разница между NetworkError и 500 ошибкой сервера для твоего приложения? Ты в любом случае ничего кроме алерта высрать не сможешь. Что так что так неожиданно и всё не работает нахуй
>>1950711 >У меня такое чувство что ты предлагаешь вместо try/catch ошибки ифами обрабатывать Я предлагаю вообще не использовать try/catch для реализации какой-либо логики в приложении, потому что это давно известный антипаттерн, как тебе такое? > еще объясни, в чем разница между NetworkError и 500 ошибкой сервера В том, что NetworkError - это "нихуя не работает, приложению пизда", тогда как 500 - это "бэкендер что-то нахуевертил, отправьте тикет или попробуйте еще раз"
>>1950679 Ну, я так и сделал. Проще подтянуть свой уровень до момента когда тебе можно что-то доверить чем мыкаться в поисках вакансии стажера-говночиста.
>>1950754 >потому что это давно известный антипаттерн, как тебе такое? Не согласен, но спорить не буду, мы не об этом сейчас
Я изначально поинтересовался зачем брать довольно таки лоулевельный для фронтендеров апи, чтобы жсончики гонять, в котором отсутствуют хайлевельные штуки вроде мидлваров и тому подобного(что тоже не всегда нужно, это понятно). Или ты просто предпочитаешь новое говно старому говну? А если бы фетч выбрасывал на 400-500, твои действия?
Что почитать чтобы понять этот злоебучий this? Там он теряется, там он не теряется. В конструкторе класса он нужен, если тупо задаёшь поле - нет. Нахуя так сложно и как это всё осознать?
>>1950751 Ты сушедший? 500 ошибка, это значит, что сервер таки что-то но ответил. А нетворк еррор это значит, что домен вообще может не резолвится, нет сети, или еще что-угодно. И обрабатывать это все надо по-разному.
>>1950769 Фетч нихуя не лоулевельный, а любой твой миддлвар уровня "распарсить в жсон и добавить хедеры" делается одной оберточной функцией без дрочева раздутого неинтуитивного API, которое к тому же поощряет мисюзы и добавление бизнес-логики внутрь запроса. >А если бы фетч выбрасывал на 400-500, твои действия? Взял бы другой http клиент или сделал бы обертку над самим фетчем.
Пиздец, ебанный js отказался работать, я говорю ему делай так как я хочу, а он вообще с браузера ебанного выключился, теперь js вообще нигде не работает, я его нашел на рабочем столе, он с браузера выпал, что делать?