Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
>>2003817 → Лолблять, чтобы лаконичный тернарник был читабельным среди простыней JSX, его один хуй надо растягивать на три строчки, что уже не сильно лаконично выглядит по сравнению с обычным ифом. А со вложенными тернарниками вообще пиздец.
Аноны раздуплите. Изучаю Кантора и никак не могу вдуплить декораторы function wrapper(func){ function foo(){ coco++; return func.apply(this, arguments); } let foo.coco = 2; return foo; } Поясните пожалуйста по своему(не по канторовски) как оно работает и почему конкретно в этом примере выпадает ошибка по foo.coco хотя у Кантора обьявленный так же массив глотает?
>>2003944 > минимум по 5-8 часов Человек не может заниматься деятельностью, которая требует повышенной концентрации больше 2-3 часов. Ты либо пиздишь, либо это обучение уровня "одной рукой дрочу, другой интерпретатор щекочу" с попеременным скроллингом двачей.
>>2003967 >Как фейсбук такой текучий фон сделал что реагирует на мышь? Пиздуй уже учить CSS, я даже не понял, что ты имеешь ввиду. Фон у него блять на мышь реагирует, одна история охуительней другой просто.
>>2003958 Потому что нет такого синтаксиса "let foo.coco = 2". Либо ты пишешь "foo.coco = 2" - запись свойства в объект, либо "let coco = 2" - объявление переменной в текущем контексте.
>>2003960 Если ты в не в курсе, то ограничивание возможностей нарочное. Чем меньше возможностей (бессмысленных типа if инлайново писать, какой вообще if в функциональщине), тем чище код.
>>2003986 >Чем меньше возможностей, тем чище код >какой вообще if в функциональщине Вы прослушали мнение жопоскриптера, который в жизни не видел ни чистого кода, ни функционального, но мнение почему-то имеет по обоим.
Какие сейчас самые годные стейт менеджеры для реакта? Работаю с редаксом два года, заебало на каждый пук использовать реселект, чтобы была мемоизация селекторов. Слышал, что в вью в вьюксе мемоизация встроена по умолчанию, например.
>>2004007 Переменные - это let. const - это бесполезный жопоскриптерский костыль, который мало того, что не дает ничего полезного А ИСЛИ У МИНЯ ВСЕ ПИРИМЕННЫЕ В ПРОЕКТИ ПИРИОПРЕДИЛЯТ КАК БЫТЬ????, так еще и семантически вводит в заблуждение, особенно в таких случаях, когда ты мутируешь то, что строкой выше назвал "константой".
>>2004012 И вар и конст - это одинаковые жопоскриптерские костыли, один ведет себя не как нормальная переменная, второй ведет себя не как нормальная константа. Так что пиздуй на них писать лучше ты.
>>2004013 >один ведет себя не как нормальная переменная, второй ведет себя не как нормальная константа Окатыша с другого языка забыли спросить, как переменные должны себя везти.
>>2004014 Ну вот и пиши на варах, дурачок. Вдруг тебе переменная в глобал скоупе понадобится, а ее там нет? Ты же на констах пишешь по аналогичной вытащенной из жопы причине, почему бы на варах не писать?
>>2004015 >Ну вот и пиши на варах, дурачок. Вдруг тебе переменная в глобал скоупе понадобится, а ее там нет? Ты же на констах пишешь по аналогичной вытащенной из жопы причине, почему бы на варах не писать? Опять неосилятор конста показывает своё скудоумие.
Почему реакт хуки называются хуками? Вот я сделал кастомный хук, это ведь просто функция, которая возвращает значение или массив / объект со значениями. Что делает её хуком?
Аноны, объясните, почему первый элемент массива не выводится, если поменять направление стрелки? Ведь, так сказать, от перемены мест слагаемых сумма не меняется. Стрелка что так, что так показывает "от X до нуля".
Вот так всё выводится:
let arr = ['a', 'b', 'c']; let x = arr.length; while (x --> 0) { console.log(arr[x]); }
А вот так почему-то не выводится 'a':
let arr = ['a', 'b', 'c']; let x = arr.length; while (0 <-- x) { console.log(arr[x]); }
Не получается настроить "на лету" по условию, как в знаке вопроса прокинуть в нее значение из сервиса или самого компонента например? Или она на этапе компиляции генерируется навсегда? Как тогда настраивать гибко анимацию в реал тайме? Может есть бест практис? Пишут какие-то токены импортировать, но я не понимаю что это и откуда.
>>2004240 Просто...и без лишних слов. Домо аригато, сэмпай. Работаете с ангуляром? Есть советы, как глубже понять его? Очень нравится фреймворк, но доки не хватает или слишком сложная для меня. Статьи что мне попадаются все либо устаревшие либо с плохими практиками (даже я вижу). Обычно если возникает затык, не могу ничего найти. В гиттере ангуляра тоже не отвечают часто или не совсем релейтед. Может есть какое ещё ламповое комьюнити?
>>2004247 Если фреймворк располагает к использованию своих инструментов, почему бы не пользоваться ими?
>>2004262 >как глубже понять его Писать больше кода, очевидно же >не могу ничего найти Ищи сильнее, оче полезный скилл >ламповое комьюнити форум с молнией))0
Мужики, помогите. Сука, я нихуя не понимаю почему это не работает. Он просто не видит экспоненту и в тупую умножает на 2. Я не могу использовать переменную в качестве экспоненты? К тому же, вместо сложения делает конкатенацию. Что за говно?
Самп, пишу тут скрипт на js, нужна помощь. Есть один сайт, бот на этом сайте кликает на определённую кнопку и там выскакивает капча. Нужно сделать так чтобы после клика эта капча выводилась отдельным окном или ещё как-нибудь, но поверх всех окон, я естественно эту капчу решал и на сайте всё после работало. Как это сделать?
WEBPACK WEBPACK WEBPACK Двач, пытаюсь скопмилить код вебпаком, проект на реакте. Вроде всё компилируется успешно, но когда смотрю результат, в консоли вижу ошибку "Uncaught ReferenceError: React is not define" Конфиг в пикрилах.
>>2004911 добрый вечер. если ты не можешь блять загуглить, как в js реализовано округление чисел, а для чего используется toFixed(), то хули ты в айти забыл?
>>2004009 >так еще и семантически вводит в заблуждение, особенно в таких случаях, когда ты мутируешь то, что строкой выше назвал "константой". Конст не запрещает мутирование в джаваскрипте, он запрещает переприсваивание. Это принципиально разные вещи.
Всех приветствую. Вкатываюсь в ИТ (а точнее бегу от завода), может кто знает как-нибудь материал по асинхронности JS (промисы и async/await), который приводит в порядок понимание оного. Соответствующие задачки в курсе прорешал, но как-то в полуслепую, без глубокого понимания.
>>2005183 Не смогу что-то конкретное посоветовать. Понимание приходит с опытом. Много по разным ресурсам шарился/пробовал/смотрел и в какой-то момент пришел к пониманию как все это работает
Кто то может пояснить за графкуель и конкретно аполло клиент? Недавно проходил собес и затронули эту тему. Я ни с тем ни с другим пока не сталкивался огранически, а чисто "для себя" пока не нашел где использовать. У меня с монгой такая же ситуация.
Как я себе представляю явная польза может быть ощутима в приложухе с большим количеством связных данных когда поставщик не знает заранее в каких комбинациях они будут нужны. Вроде очевидно, но не понятно чем это лучше того что было раньше, условно через включения полей в хмлках. Во вторых в обоих вариантах не понятно на какое место уходит производительность, если у вас данные в апи мапятся не 1:1 из базы, есть сложные агрегации и т.д. (т.е. лично мне это было непонятно и с хмл апи где можно фильтровать и ембедить что хочешь). Ну и эта история только про получение данных.
Я попробую вот привести пару кейсов которые я делал с "обычными" апи, а м.б. кто-то раздуплит мне в каких графкуел и синк через аполло заходит в теории нормально.
1. Представь себе массовый фотошоп с тонким клиентом, картинки в слои грузятся на сервер через апи хранилища, основной сервер управляет настройками композиции и стейтом сессии, отдельно пачка воркеров в фоне все обрабатывает. В этом случае у меня довольно жосткий контракт с апи, все действия порезаны по стейтам сессии и что вообще делается итд.
2. Представь себе банальный инфопортал - форум, блог, каталоги со всяким гавном, ну ты понял. В принципе в плане контракта мне тут важно только чтобы кто-то не заджоинил что-то через задницу, агрегат на агрегат и не уложил серв. Т.к. точки и ответы заранее установлены то это исключается изначально.
3. Ну и допустим дэшборд для "дада вейрхауза" куда просто пушится всё говно и потом с фильтрами можно вытаскивать и группировать.
Аноны, вопрос от вкатывальщика. Нормальный вариант вкатиться в разработку через техподдержку? Есть одна контора, разрабатывают работают на С# в основном, так же используют JS. По всем признакам - для моего мухосранска вполне серьезная. Отправлял им резюме на разработчика (на удачу) и в техподдержку. В общем они готовы меня взять в техподдержку. Как сами пишут в описании вакансии есть возможность вкатится в разработку в дальнейшем. Мой уровень знаний: ковыряю JS усиленно в течении месяцев трех, изучил основы HTML, CSS. Так же имею кое-какие познания в С#(по гайду из соседнего треда).
>>2005223 Нахуй им сдался вкатыш из техподдержки в разработчиках? Будешь там со всякими дебичами по 12 часов в день проводить, и за эти 12 часов ты нихуя не будешь расти как профессионал.
>>2005140 Да ты чо ебать, правда? Только вот вопрос был не в том, как криво работает конст и как он хуево и обманчиво назван, а в том, нахуй он нужен в принципе.
>>2005225 Рабочий день 8 часов. Точно так же я сейчас работаю, изучаю в свободное время. Только текущая работа с разработкой вообще никак не связана и отсюда я точно никуда не перекачусь.
>>2005254 >Константные ссылки есть во многих языках, а не только в жс. В каких, мань? Пхп, питон, руби имеют нормальную динамическую систему переменных и прекрасно обходятся без этой шизы. Любой же функциональный язык в принципе не дает тебе ничего мутировать, кроме специально сделанных для этого конструкций. Если ты говоришь про обосранный final в какой-нибудь жабе, то там еще до твоего рождения идут холивары по поводу его нужности, и адепты этого говна так же не ушли в аргументации дальше тупости уровня "А ВДРУГ КТО-ТО ПРИДЕТ И ВСЕ ПЕРЕОБЪЯВИТ"
>>2005235 >Религиозный дурачок, который заменяет свое мнение и аргументацию кивком на некие божественные авторитеты, ты? Ну ты-то конечно же просвещенный интеллектуал, который даже в конст не может.
>>2005348 То есть клоны джавы у нас теперь определяют индустрию? Про final я уже сказал. И еще серанул с дебила, который сидит в треде жопоскрипта нахуй, но имеет наглость открывать рот на нормальные динамические языки.
>>2005140 О, констошизик приперся Ну-ка, утенок, поясни зачем НУЖЕН const? Какой от него профит? Ты блн используешь его исключительно потому что начитался другого кожа где пишут так же, а не потому что тебе реально нужен const
>>2005350 В конст я не могу как раз потому, что я не религиозный дурачок и мне недостаточно для использования бесполезной фичи аргументации вроде "гугл так в гайде написал, значит и ты пиши, думать не надо". >>2005357 >ормальные языки даже не вспомнил Питон с руби я как раз вспомнил.
>>2005363 >В конст я не могу как раз потому, что я не религиозный дурачок и мне недостаточно для использования бесполезной фичи аргументации вроде "гугл так в гайде написал, значит и ты пиши, думать не надо". Думающий интеллектуал подал голос.
>>2005363 Но если ты не используешь const, то это значит что ты в большой вероятностью не пользуешься линтерами (не перенастраиваешь же ты их чтобы не ругались на var и let). А это звоночек, указывающий на то что ты ничего не изучаешь, не читаешь. Небось в notepad++ код пишешь
Чем SSR от CSR отличается в плане отправки заголовков? При SSR при каждом GET запросе (переходе на другую страницу) отправляются новые заголовки в <head> - title, meta, etc? А при клиентском CSR перехода нет и значит GET запросов и отправки заголовков нет?
>>2005392 Ты бля в курсах что линтер можно настраивать? Да настраивать так что он тебе будет ругаться даже на то что у тебя отступы после скобочек разные?
>>2005411 Не мочь следовать общепринятым правилам это возможно психическое расстройство. Эти правила не ничего от тебя неестественного не требуют. Это как использовать нож и вилку в ресторане, а не хватать еду руками.
>>2005421 >Не мочь следовать общепринятым правилам это возможно психическое расстройство. Эти правила не ничего от тебя неестественного не требуют. Ты имеешь в виду - ставить const, как рекомендуется, а не лепить везде let?
Использование let без фиксации на const - это прямой признак половозрелого состоявшегося мужика Мужик сам устанавливает правила и не позволяет кому-то со стороны решать за него. В отличие от левачья и женомужей Мужик всегда четко ставит цель и идет к ней, Мужик ведет а не является ведомым
>>2005421 Не знаю как ты, но я вилкой и ножом пользуюсь не потому, что это "общепринятые правила", а из соображений гигиены. Правильной аналогией тут было "не ходить в церковь вместе со всеми - это возможное психическое расстройство, ничего сверхъестественного от тебя не требуется".
>>2005377>>2005390>>2005416 Перепись шизоидов, у которых линтер и его конфиг - это не настраиваемый инструмент под конкретные задачи и цели, а библия нахуй, который надо следовать без вопросов и сомнений.
>>2005443 Зачем с обсуждаемой темы перескакиваешь, дурачок религиозный? И в жопоскрипте такого синтаксиса нет, ты перепутал его с отрыжкой майкрософта.
>>2005454 Именно тебе и говорят, ведь это ты не можешь сказать ничего в защиту используемой тобой фичи/технологии, кроме "все используют, да и в библии линтера так написано". С тайпскриптом думаю будет ровно та же самая аргументация.
>>2005458 Что там защищать, дебил? Если ты даже базово понять не можешь смысл конста, то с тобой не о чем разговаривать. Это как англо-педерасту доказывать, что гетеросексуализм является нормой, а не гомосексуализм.
>>2005475 Я прекрасно понимаю смысл конста - это абсолютно бесполезная, кривая и не несущая никаких практических преимуществ надстройка над обычной переменной.
Не понимают его смысл как раз констошизики, вся попытка "аргументации" которых упирается либо в ad populum(все в церковь ходят и ставят конст, а ты что самый умный?), либо в ad verecundiam(ну как жи нет, вон даже майкрософт инженеры в бога верят и конст ставят), либо на абсолютно необоснованные фантазии, начинающиеся с "а вдруг"(а вдруг у меня в проекте кто-то все переменные переопределит). Что-то в защиту серанешь или "не о чем разгорваривать" слив окончательный?
>>2005500 >Не понимают его смысл как раз констошизики, вся попытка "аргументации" которых упирается либо в ad populum(все в церковь ходят и ставят конст, а ты что самый умный?), либо в ad verecundiam(ну как жи нет, вон даже майкрософт инженеры в бога верят и конст ставят), либо на абсолютно необоснованные фантазии, начинающиеся с "а вдруг"(а вдруг у меня в проекте кто-то все переменные переопределит). Что-то в защиту серанешь или "не о чем разгорваривать" слив окончательный? Успокойся летошиз, никто ничего на защищает, в своём туду-листе заместо проекта можешь хоть вообще без ключевых слов переменные обьявлять, прям как в питоне.
>>2005208 Не нужно в обычных приложениях от слова совсем. Может быть полезно только когда у тебя публичное огромное API и клиентам может понадобиться что угодно в каких угодно комбинациях. Но если ты заранее знаешь все юзкейсы для своего API и то, что клиентские приложения должны с ним делать, то просто пишешь эти юзкейсы виде стандартных рест эндпоинтов - это покрывает 99.99% случаев любой разработки.
>>2005546 Ну вот мне так и казалось изначально, но это не раскрывает момент с вводом данных и так же не объясняет почему все хотят все делать через него, скажем так большое публичное апи без четкого контракта это не то чтобы у каждого второго есть.
>>2005602 >почему все хотят все делать через него, Спрашивать надо у тех, кто хочет делать. Но обычно по подобным вопросам аргументов не дождешься и решения принимаются на основании "все так делают", "гугл сделал, и мы сделаем". Первый день в айти что ли?
>>2005208 Есть еще встроенная документация с описанием апи (не нужен свагер) и параметров, встроенное кэширование и возможность его вручную сбрасывать.
>>2005619 >Есть еще встроенная документация с описанием апи Нету. Документация - это описание юзкейсов, а не набор "название:тип" колонок. По такой аналогии можно схему базы данных называть "документацией приложения", а че, все используемые типы и таблицы есть. >встроенное кэширование и возможность его вручную сбрасывать. Что это вообще означает, наркоман? grahql - это язык запросов, там нет никакого кеширования, это полностью ответственность приложения/сервера.
Объясните мне суть разделения на язык JavaScript и api браузера. Типа апи браузера на чем то другом написаны? А почему js код их постоянно вызывает и многие фичи на этом апи вообще работают?
>>2005889 На кухне ты можешь готовить обед, а в туалете не можешь. На спортплощадке ты можешь заниматься на турничках, но в твоем автомобиле никаких турничков нет, и ты вообще в нем сидишь, можешь только рулить и нажимать на педали.
Ты - это JavaScript. А кухня, туалет, спортплощадка и тачка - это твои окружения, которыми ты управляешь. Браузер - это одно из таких окружений. API браузера - это твои кастрюли, которые есть на кухне, но нет в туалете, как Geolocation API нет в ноде. Но при желании, ты можешь в свой туалет принести миксре, и мешать пюрешку, пока срешь, как и в ноду и в любое программное окружение ты можешь затащить полифил реализующий PI другого окружения, или просто кастомную библиотеку, как в тачку принести резиновую куклу, и там ее ебать.
>>2005909 Родился на улице Герцена, в гастрономе номер двадцать два. Известный экономист, по призванию своему — библиотекарь. В народе — колхозник. В магазине — продавец. В экономике, так сказать, необходим.
>>2005896 >>2005909 я понимаю, что это среда и что среды разные бывают. Так по факту апи среды это что такое? Код на плюсах, который вызывается в жс коде? Или нет?
>>2005946 >Так по факту апи среды это что такое? То, что встроено в среду.
>Код на плюсах, который вызывается в жс коде? Тебя это ебать не должно. Он может быть хоть на перле написан. Это какое значение имеет? API - это ИНТЕРФЕЙС.
Если ты настолько трудный и не можешь сформулировать свой конкретный интерес, который на самом деле заключается в том, на чем конкретно реализованы те или иные API в браузере, то ответ таков
ЗАВИСИТ ОТ КОНКРЕТНОГО БРАУЗЕРА И ЕГО ВЕРСИСИ И ВООБЩЕ ЛЕВОЙ ПЯТКИ АЛЛАХА. Сегодня метод может быть написан на плюсах, завтра на жс, или наоборот. На чем угодно может быть написан. Открывай сорцы конкретного окружения, конкретного релиза и читай.
>>2005889 API браузера - это просто набор неких глобальных переменных, которые ты можешь использовать в своем коде. По сути браузер загружает твой код примерно таким образом: window.fetch = function fetch() {...} window.Request = class Request {...} window.Response = class Response {...} // твой код
И соответственно твой код получает доступ ко всем этим глобальным переменным и их функционалу(fetch, Request, Response). Но если ты свой код запустишь в окружении, в котором таких переменных нет(то есть в окружении с отличающимся API, например в ноде), то он работать не будет и тебе придется эти переменные объявлять и реализовывать самому - это называется полифилл.
>>2005952 Ну меня ебет, потому что в других языках апи среды(операционки) вызывается только библиотечным всяким кодом. А тут мне для самых простых вещей самому постоянно приходится дергать методы непонятно чего с хуй знает чем в сорцах. Типа если быть конструктивны мне надо к этим апи, как к операторам языка относиться. Типа есть они и ниче с ними не сделаешь?
>>2005995 Ну вот а в жопоскрипте через жопу и исторически сложилось, что импортов нормальных не было и поэтому вместо библиотек насрали функционалом прямо в глобал скоуп. Плюс если ты импортируешь библиотеку, то ты подразумеваешь, что твое окружение тем или иным образом ее предоставляет, то есть по сути то же самое.
>>2005995 >Ну меня ебет, потому что в других языках апи среды(операционки) вызывается только библиотечным всяким кодом Нет. Ты можешь сисколы дергать сколько душе угодно без библиотечного кода.
Аналогично во множестве прочих языков RTL всегда загружена в память по-дефолту, просто ты в своем коде явно прописываешь импорты, что ты хочешь использовать в том или ином модуле, потому что используешь статический язык, например.
>Типа если быть конструктивны мне надо к этим апи, как к операторам языка относиться. Типа есть они и ниче с ними не сделаешь?
Что ты с ними сделать хочешь? Че за хуйню ты несешь вообще? Перегрузить можешь. Можешь удалить из окружения текущего процесса - в паамяти все останется все равно, но тебе интерфейсы станут недоступны.
Ты несешь какую-то дичь, у тебя ниебические пробелы в знаниях.
>>2006001 Ну есть пробелы само собой. Я иначе бы не спросил. Просто мне один жсер начал объяснять асинхронность на пальцах типа асинхронность без параллельного выполнения задач. Типа все евент лупа разруливает. А я ему а лупа типа не параллельная задача? А он мне так же как вы - лупа часть среды и тебя ебать не должно. Это прямо девиз языка - "тебя это ебать не должно". Ну я с ним чуть не подрался короче. А тут можно спрашивать свободно такое.
>>2006013 Это значит, что ты проваливаешься в слоях абстракций, при чем, проваливаешься, как тебе вздумается.
То, что браузер работает поверх ОС, а ОС поверх железа определенной архитектуры тебя почему не беспокоит? Проваливайся сразу на уровень опкодов, и доебывайся до того, почему у одного польхователя твой код будет использовать SIMD операции, а у другого нет.
Или научись мыслить абстрактно и не мешать хуй, как детородный орган, с мочеиспускательным каналом, который в него встроен (а может и нет, если ты мутант).
Все, что тебя должно волновать в конкретный момент времени это ИНТЕФРЕЙС того уровня абстракции, с которым ты работаешь.
>асинхронность без параллельного выполнения задач. Типа все евент лупа разруливает. Внизу эвентлупа лежит пул тредов, которые вполне себе могут работать параллелльно, если позволяет окружение. Это твой код, который дергает эвентлуп работает в отдельном ОДНОМ потоке. Но это совершенно не значит, что задачи которые ты пушишь в очередь тасок лупа будут выполняться в том порядке в котором ты их запушил в него, или не параллельно. Зависит от того, что именно это за задачи.
> асинхронность на пальцах Тебе в чат однокассников все твои друзья пишут хуеву тучу сообещний, но читаешь ты их и отвечаешь им в одном потоке, не всем по порядку. При этом пока отвечаешь, может прилететь новое сообщение, но обработаешь ты его лишь тогда, когда ОСВОБОДИШЬСЯ от выполнения текущго, и если пере ним вдруг нет более приоритетеного.
>>2005229 Попробуй включить голову. Каким место тех поддержка связана с разработкой? Ты с тем же успехом можешь пойти в аэропорту продавать бургеры и мечтать стать пилотом. На вкат уйдёт минимум 6-8 месяцев, если ты готов за 20к сайты-визитки на jquery ковырять. Вкат на джуна в более-менее норм место займет 8 - 16 месяцев фултайма. Стоит добавить, что в говностудиях особого смысла нет. Ничему ты там толком не научишься и отметка о работа в ИП Пахом твоё резюме не украсит. Лучше ищи работу в дс и понаезжай. Именно в таком порядке. Через год-полтора можешь уже на удаленку перекатываться и в своё село возвращаться, если захочешь.
Как типизировать данные с сервера? Вот я получаю с сервера объект, там 2000 полей. Как мне тип этого объекта указать? Я не хочу блять писать интерфейс со всеми полями.
>>2006139 Ну вот, нагуглил. https://quicktype.io/typescript - пойдет? Один хуй придется делать лишний файл в котором один только интерфейс этой хуйни. Да и то блять, АПИ позволяет исключать некоторые данные из ответа, придется потом вопросики проставлять во всех строках.
>>2006146 Пока тс-шиз ублажает анальный компилятор и ставит вопросики, не понимая, зачем ему тс сдался вообще, жс-альфач просто парсит жсон и работает с тем, что пришло без задней мысли.
>>2006163 >Ты как с этим работать собрался вообще? Как-то придется. >Ленивая собака, сделай интерфейс для своих 12 полей, ничего тут сложного нет. Иди в пизду, если бы там было 12 полей, я бы даже не спрашивал.
>>2006126 >Как типизировать данные с сервера? Вот я получаю с сервера объект, там 2000 полей. Как мне тип этого объекта указать? Написать скрипт, который автоматически определял тип данных и генерирует тип для TS. Еще можешь сначала сгенерировать JSON Schema, и уже при помощи нее создавать тип.
>>2006175 ну да. очередь - структура, а цикол задача. Типо я - не я, все вопросы мамка(браузер) решает. Челик выше мне все верно так то сказал, про то что у многих языков операционка многие вопросики решает. Но тут какой-то прям заоблачный уровень несамостоятельности. Непривычно как-то.
>>2005223 Рискни, если это лучше твоей текущей работы. Не особо верь, тому что пишут в вакансиях. Раньше работал в техподе. Случайно наткнулся на обьявление со старой работы. Заливают, что через полгода все становятся тестировщиками или аналитиками. Полная чушь. Не могут предложить ничего особенного, вот и кормят обещаниями.
>>2006194 У большинства языков есть рантайм, который за тебя овер чего решает. Даже у zero overhead языков вроде си или раста есть rtl.
>Непривычно как-то.
Это не непривычно называется. А узость кругозора.
Вместо того, чтобы просирать штаны в треде с нелепыми вопросами, давно отправился бы в википедию изучать разницу между встраиваемыми языками и всеми остальными. Об этом специально для тебя написали прямо на странице о том, что такое Язык программирования, чтобы ты вопросов не задавал. А ты эту страницу даже прочитать не удосужился.
Есть проблема. В useEffect получаю данные с сервера. Для получения этих данных, мне нужно вставить в фетч пару переменных, которые выдергиваются из стейта. Ну вы поняли, да? useEffect ругается на exhaustive deps, если не впихнуть в массив зависимостей те самые данные из стейта. Проблема в том, что как раз перед фетчем, данные в стейте изменяются, итого получается вместо одного запроса на сервер целых 6. Поясняю: 1й запрос - инишиал стейт, сервер присылает чушь. 2й запрос - первая переменная изменилась, сервер присылает чушь. 3й запрос - вторая переменная изменилась, сервер присылает чушь. 4й запрос - третья переменная изменилась, сервер присылает чушь. 5й запрос - четвертая переменная изменилась, сервер присылает чушь. 6й запрос - единственный правильный и нужный запрос, когда все 5 переменных имеют корректные значения. Как это пофиксить? Если хуй забить на экзостив депс, то фетч данных выполняется с инишиал стейтом, забивая хуй на ожидание, пока там что-то вытащится и вставится в строку запроса.
сап джаваскриптеры, такой вопрос: хочу вкатиться в ноду избежав фронтенда, типо нафига мне фронт если я мозг для сайта фигачу? Я знаю, что фронт необязателен в деле бэкенда, но все же, что ты думаешь анон? Напиши с чего мне начать. С меня как всегда ничего
Есть ли плагин для VS Code который отображает все вложенности папок проекта, в виде графических нод? типо пикрила, где будет показано в блоках ветвление всех папок
>>2005223 Я бы на твоём месте постарался всё-таки именно в джуны/стажёры разработчики вкатиться. Ты так будешь прямо на работе улучшать навыки вместо проёба 8 часов на унылое и бесполезное общение с клиентами техподдержки
>>2006240 Изучай стандартную библиотеку ноды, express, потом nest.js + typescript, библиотеки для работы с вебсокетами, базами и очередями, аутентификацию и авторизацию
>>2006126 2000 уникальных полей с уникальными типами? Тебе там апишка всю базу данных выблёвывает что ли каждому пользователю? Проект изначально без тс писался? Имеет ли вообще смысл типизировать всё это говно?
>>2005223 Звучит как наебка что бы закрыть вакансию в своем колл центре, там всегда большая текучка. Но сходи на собес и узнай че там, если адекватные люди собеседуют то выводы сам сделаешь
Как вообще тайпскрипт в рантайме работает? Где почитать? Вот например как мне типизировать данные приходящие с сервера и вообще нужно ли? Например у меня есть какие-то dummy данные, я их типизирую, и потом говорю компоненту, какие данные он должен принять и всё круто. А вот когда эти данные я изначально не вижу, тс всё равно будет выполнять проверку в рантайме? Он всё равно будет ругаться на то, что данные пришли не те если там будут другие типы? Или в рантайме уже похую вообще на это всё становится, и тс это для разработки только? Можно и просто статью дать, я не ебу как это тс работает в целом от начала и до конца. Просто типы указываю, ошибки подсвечиваются и ладно
>>2006593 >как мне типизировать данные приходящие с сервера Надо установить валидаторы на данные, во фреймворках они уже должны быть в том или ином виде, хз, бэком особо не занимался А так TS это статическая типизация, но она все равно слабая а не сильная
>>2006623 В том и дело, что там компилится-то? Функционально этот тс продолжает работать? Конструкции вида function func(value: string) { console.log(value)} во что-то превращается или просто все типы исчезают в рантайме? Бабель там что-то транспилирует или нет?
Ну вот к примеру, что такого ввести сюда тайпскриптового можно, чтобы оно как-то преобразовывало изъебисто в жс, а не просто опускало все типы? https://babeljs.io/repl Получается тс только для разработки нужен и в райнтаме после билда там вообще ничего от него не остается что ли?
>>2006654 Понял, принял, обнял, ну вот этого я и хотел узнать, нет, мне сильно больно от этого не становится, на жаву не пойду, просто хотел понять сам процесс. >>2006645 Спасибо, удобно
Причем тут вообще типизация данных(Как в тс, джаве или C#) к внешним данным, которые приходят в виде json строки? Это же вообще разные вещи. Я не улавливаю тут связи.
Я вот запилил .env файл в котором хранится переменная с моим ключом от АПИ. Все как положено. Но во вкладке network в девтулзе все равно видно, с каким ключом уходить реквест на сервер. Ну и в чем прикол блять? Понятно, что .env от этого никак не защищает. Но все таки? Нахуя эта лишняя манипуляция? Типо простой пользователь не сможет узнать мой АПИ ключ и воспользоваться им? Но так простой пользователь и в код не полезет, и во вкладку нетворк. А кому надо все равно найдет. Или я чего-то не понимаю?
>>2006756 Я думал об этом, но хз. Это микропет. Стоит ли поднимать бэк чисто ради того, чтобы 1 ключ спрятать. Если начнется какая-то ебатория, то я смогу просто ключ поменять да и все. Неприятно, но не более.
Даёбаный врот есть вот axios.all(реквесты).then(callback) Реквесты начинают выполняться одновременно. callback начинает выполняться когда все реквесты ответят.
axios.get().then(callback) начинает выполняться сразу Но если их зацилкить в цикле то они будут один другого ждать
Мне надо чтобы реквесты начинались одновременно, а каллбэк срабатывал по мере выполнения каждого ревеста, а не ждал самый медленный
Гайс, чет забыл как последовательно вызвать функции, мне нужно что бы при клике обработчик сначала вызвал функцию карентТайп, и только после как она отработает вызвать поиск.
Если в обработчике оставить просто две функции, то вторая срабатывает быстрее чем первая
>>2006905 Специально для таких, как ты, айтишники написали тонны подробной документации, статей и литературы. А ты, вместо того, чтобы пойти и прочитать это все, бегаешь по форумам с нубскими вопросами и, брызжа слюной, предъявляешь претензии о том, что тебе не хотят разжевывать примитивные вещи или поискать за тебя.
Тратить время на тебя - это неблагодарное дело и Сизифов труд. Потому такое и отношение.
В целом, твоя реакция в цитате > айтишников-инцелов ебаных. лишь подтверждает твой уровень развития и то, насколько ты заслуживаешь подобного отношения к себе.
>>2006927 Какой же ты уёбок. Специально для таких как я придумали форумы, чтобы на них спрашивать вопросы которые вызывают затруднение, а ты уебан сидишь тут и потешает своё ЧСВ вместо того чтобы помогать и дать нужную ссылку, что в прочем проще чем писать тонны гавна.
>>2006873 Ты пытаешься делать, не зная основ и требуешь тебе что-то объяснить, даже не открыв learn.javascript. Иди читать базу, всё разжёвано десять раз. Promise, блядь, race.
>>2006942 Я вообще другой чел, если что. Но теперь согласен с тем, кто отвечал тебе выше. И у тебя ещё рот открывается говорить что-то про ЧСВ. Какой же стыд.
>>2006961 Давай, нужно больше оскорблений. Это конечно новый уровень тупизны. Тебе уже сказали, что тебе нужно, но ты всё равно исходишь на говно. Просто образец бесполезности и агрессивности. Кек.
Хочу написать одностраничное приложение, которое позволяет редактировать word-документ определенного образца. Опыта с js у меня мало, но зато знаю джаву и питон. Так вот, как вообще выглядит проект на js? Какие там принято определять пакеты, модули и т.д.? Чем все обычно собирается в один js файл? inb4 node, нет, ради одной html-странички я заморачиваться с ней не хочу.
>>2007059 Проект на жс выглядит как зоопарк фреймворков, тулзов и плагинов. Если ты думаешь "сейчас 2 дня поразбираюсь и заебашу приложение", то ты пиздец как не прав. Ты заебешься нырять в этот деревенский сортир, прежде чем вообще хоть что-то напишешь.
>>2007097 >бестпрактисы должны же быть Хз, что ты понимаешь под "бестпрактис". Бестпрактис это обмазаться реактом или ангуляром. Все это собирается через вебпак (ебля с которым это совершенно отдельная песня, потому что иногда этот пидорас работает через жопу по чисто магическим причинам). Хорошо бы еще обмазаться styled components или хотя бы модульным ксс. Ко всему этому до черта маленьких плагинов и всяких тулзов. Прямо сейчас в моем проекте (литерали 300 строк кода, одноклеточная функциональность) установлено 47 различных зависимостей и напердолено 10 конфиг-файлов.
Метод Date .getMinutes (hours, seconds) возвращает 1 число, если, допустим, сейчас 20 часов 01 минута, то будет 20:1, вместо 20:01. Мне хочется, чтобы всегда было два числа. Я не придумал ничего лучше чем, делать числа строку, проверять ее длину, и если там 1 символ, то делать из строки массив, потом делать новый массив, в который на позицию первого элемента ставить 0, а потом расширять массив оригинальным массивом из строки, и из нового массива делать строку, которая уже возвращается из функции. Я перемудрил? Или норм? Есть ли способ сделать это проще?
Почему при попытке итерации через массив элементов через forEach с вызовом функции в событии каждого элемента код не работает, но при копипасте того же самого кода в forEach всё работает нормально? Это из-за того, что функция асинхронна или шо? Ну и в целом, как можно вынести код из forEach в отдельную функцию?
>>2007365 Отсылка к объекту, о котором идёт речь в данном контексте (хз как ещё описать). В данном случае это label, соответственно, если вызвать функцию с аргументом label вместо this, то ничего не изменится.
>>2007359 Ты пытаешься использовать динамический this в том месте, где он у тебя статический. Или замени arrow function на FE, или ссылайся на екущий элемент иным образом.
И пиздуй перечитывать, что такое this, как он работает, и в чем разница между bound/arrow function и method\function
>>2007373 Колхоз прототипирования, сначала думал каждому элементу задать уникальный id, потом передумал и временно оставил так. Там должен быть класс, конечно.
Гайс, редакс ведь надо хранить отдельно от UI компонентов реакта? Т.е. в redux.js ? Просто я все время состояния хранил в одном месте с визуальными компонентами, сегодня узнал что стейты лучше вообще не хранить рядом с компонентами, а импортировать их из вне.
А почему отказываются от классов в пользу хуков? Типо чтобы функции отвечали за отрисовку онли и были чистыми, а состояние ворочалось отдельно либо в хуках? Но хуки так же пишутся в функциях как и this.state писался в классах. Тогда в чем разнится? Знаю только что хук UseEffect типо работает быстрее чем Pure Component и рендерит меньше кода. Ок чуть быстрее получается. Чем еще хуки отличаются от классов? ну типо еще методы приходится через константы писать, а классах писали экспресс функции.
В чем отличие ООП от функциональщины? Может кто объяснить подробно? Или статейку подкиньте подробную - почему хуки лучше классов?
>>2007438 Потому что this - сложна, а замыкания - легко На перформанс и синтаксис похуй Классы не значит ооп Функции не значит фп Раньше были только компоненты с рендером и эффектами, теперь компоненты с рендером и хуки с эффектами
>>2007447 >Раньше были только компоненты с рендером и эффектами, теперь компоненты с рендером и хуки с эффектами Ну так в классах был жизненный цикл, дидмаунт, дидапдейт. Можно было им напрямую управлять, шо типо заебись.
Щас жизненным циклом управляют хуки, у них все тоже самое, и дид маунт и дид апдейт дается. В чем разница то если делают тожи самое? С точки зрения выполнения действий нихуя не поменялось. Если учитывать что хуки проще в использовании.
>>2007455 Короче из всего координального интересного что я нашел -
Классы когда рендрерят асинхронную функцию, рендерят стейт который пользователь может за время асинхронной функции изменить, и this. упадет новое значение, после чего класс отрендерит его.
А в функциональщине пока пользователь работает ничего для асинхронной функции не меняется, она какое состояние зацепила в момент своего вызова, такое и покажет. В классах не так.
>>2007455 >жизненный цикл, дидмаунт, дидапдейт Нинужна, потому что можно сразу смотреть на нужный state и props, без "а вот теперь новые пропс пришли. какие именно? разбирайся-ка сам" >проще в использовании Ради этого
>>2007488 Точно, спасибо братишка, в хуках мы видим изменяемый пропс и стейт а в дидапдейте нет, только сам факт. Спс
Ну короче я понял примерно для чего хуки и функции, проще отлаживать и читать, меньше незапланированных срабатываний не нужных, типо так безопаснее в целом, чем ковыряться в классах и искать че сломалось
Привет, двач. Рубрика вопросы от зелёного. Начал тут разбираться с нодой и наткнулся на странную фигню в модуле fs. Есть программа, которая создаёт файл в указанной директории с указанным текстом, а потом добавляет к этому тексту ещё текста, попутно комментируя это в консоли. По логике, сначала в консоль должно выводиться "Файл создан", затем "Файл изменён", но нода так не думает. Если запускать программу несколько раз подряд - порядок надписей меняется, хотя в файле, с которым я работаю, все изменения остаются идентичными. Почему так нахуй?
Подскажите по бекэнду. Есть к примеру реакт на фронтэнде, мне обязательно бэкэнд нужен? Я могу получать и записывать данные сразу в базу и всю логику делать на фронте? Чувствую сильно глупые вопросы, но я не понимаю как это взаимодействует и для чего нужно. Пишу например социальную сеть и все данные о пользователях складываю сразу в базу данных к примеру в какой-нибудь Amazon RDS, вся логика в компонентах, так получится у меня?
>>2007566 >Привет, двач. Рубрика вопросы от зелёного. Начал тут разбираться с нодой и наткнулся на странную фигню в модуле fs. Есть программа, которая создаёт файл в указанной директории с указанным текстом, а потом добавляет к этому тексту ещё текста, попутно комментируя это в консоли. По логике, сначала в консоль должно выводиться "Файл создан", затем "Файл изменён", но нода так не думает. Если запускать программу несколько раз подряд - порядок надписей меняется, хотя в файле, с которым я работаю, все изменения остаются идентичными. Почему так нахуй? ПОЕХАВШИЙ
Подскажите с такой темой, вот есть авторизация, есть аякс в котором после авторизации проверка условий, переход на страницу профиля, скрытие кнопок регистрации/авторизации и вывод приветствия. У меня после перехода выполняется только вывод приветствия и выполняется он на странице с авторизацией. Почему может не работать, и как лучше такое вообще реализовывать? Объяснять ситуацию это явно не моё
Сука да как можно запомнить всю эту ебалу с вызовом функции, объявлением, с объявлением вар, лет, с инициализацией с присваиванием, когда начинает работать всплытые, почему оно работает и для вар и для лет, причем обоим присваивается undefined судя по environment record, но обращаться к let нельзя до присваивания значения потому что пошел нахуй сука. И блядь приоритет у всплытыя вара без присваивания один, у функции другой, у функционального выражения третий, еб вашу мать блядь, пиздец просто это говно нереально запомнить. Читаешь статью про вар, вроде бы уже понимаешь, и тут сука тебе в статье про замыкания пишут про Lexical Environment и ты вообще блядь не можешь понять, почему в статье про var ничего про лексическое окружение не сказано было. И мало того, все эти порядки нужно знать в тех случая, когда тебе код писал Пила из фильма ужасов, и если ты глазами неправильно прочтешь код без выполнения и без ide, и не скажешь на лету, что тебе в консоль выдаст после выполнения, то у тебя на лице схлопнется шлем с шипами и размажет твой череп. Другой ситуации, при которой настолько ебанутым образом кто-то будет писать код я себе представить не могу. Чтобы вот у тебя и вар и функция названы одним словом, и ты такой еще и присваиваешь переменной значение после объявления функции с одним и тем же именем. И ладно бы существовала какая-то книга, где ты мог читать это все по порядку. Нет, хуй там, все будет специално разбросано по частям, и в статье про одну сущность тебе будут давать другие концепции для определения её поведения, а для другой еще какие-то другие, чтобы ты не дай бог не смог понять, как вся эта система функционирует целиком. Казалось бы, да какая нахуй разница? А потом тебе на собесе задают такой вопрос и ты сосешь жёппу
>>2007901 >Во первых - какой нахуй вар? Воу, воу, а мы вам перезвоним тебе не прописать? Может заодно скажешь, нахуй мне нужно знать классовые компоненты в реакте в 2021 году от рождества Христова?
>>2007907 Единственное что ты должен знать по вар это то, что его не нужно никогда использовать. >нахуй мне нужно знать классовые компоненты в реакте в 2021 году от рождества Христова? Да, нахуй. Оно депрекейтед.
>>2007890 Все эти детали легко понимаются после понимания замыкания. Но так как у Кантора забивают хуй на объяснение всяких важных деталей, как например возврат значений у функций, то получается каша.
>>2007910 Стрелочная функция использует область определения в которой она объявлена, в отличие от обычной функции. Видишь, вароеб? Я эту хуйню до сих пор помню, и я джавист блядь, но читал книгу носорога. И ты читай.
>>2007912 Да блядь, где вы собеседования проходите вообще? Все эти ваши "нахуй не нужно" разбиваются о простейшие вопросы на собесе уровня:
console.log(a); var a = 100; console.log(b); let b = 100;
И что вы будете делать? Просто молча срать в штаны на собесе? А вот оказывается, что референс еррор в этом случае выдаст именно лет, а вар отконсолит undefined. Причем я понимаю, что много из этого именно что НАХУЙ НЕ НУЖНО, я уже работаю пару месяцев с знакомым челом, а вот собесов так и не прошел. Поэтому и приходится дрочить всю эту срань.
>>2007918 >Видишь, вароеб? Я эту хуйню до сих пор помню, и я джавист блядь, но читал книгу носорога. И ты читай. Ну вот видимо и придется вароёбствовать с носорогами >>2007917 Понемногу разобрался уже, спасибо.
>>2007916 Вот с этого у меня жопа и горит, что все знания даются фрагментированно, и ты узнаешь о важных вещах вообще случайно читая статьи на другие темы
>>2007932 Только так? Мб можно передавать часть типа, деструктуризацией какой, чтоб компилятор понимал меня с полуслова!? Тайпскрипт же умный должен быть
>>2007939 А чего тут плохого? Нода поддерживает модули, думаешь создатель вебпака будет костылить свой функционал на каждый пук (который ещё должен быть мультиплатформенный) только для того, чтобы список зависимостей пакету уменьшить?
>>2007059 >>2007939 Я например на своём последнем проекте поднимал свой сервак на ноде и ебался с докером, работая фронтэндщиком. Плюс еще пока работаешь с некстом должен держать в уме серверный движ. В какой-то момент уже вообще перестаешь понимать, почему это называется фронтэндом
Отдельного яблотреда не нашел, спрошу тут вдруг вы знаете:
Какой есть халявный или недорогой сервис деплоя кроссплатформы (ионик и реактнатив) в яблостор без мака? Гугл усиленно предлагает кодмаджик, какие у него подводные/альтернативы?
>>2007966 >Ты не понимаешь как работает hoisting что ли? Раздул драму из ничего. Ты сам-то сходу сможешь ответить какой будет результат вот здесь: var double = 22; function double(num) { return (num*2); } console.log(typeof double); Какой тип у double будет? Уже чуть посложнее говно со всплытием начинает восприниматься и вот тут я раздуваю драму. И вот дальше скажи, почему let всплывает точно так же, и точно так же будет присвоен undefined до присваивания значения, но обратиться к let нельзя будет. И главное, что эта ебанина исключительно для собесов нужна. Да, я драматизирую
>>2007966 >>2007968 Ну вообще понятно конечно, что я просто поныть захожу, так или иначе всё равно понемногу учу язык. Просто хочется сразу и 300к сек и чтобы все меня вокруг любили
>>2007999 Ну, есть охуительная альтернатива в виде папки с миллионом файлов. 10 лишних строчек в скриптовом файле это плохо, а вот 200 модулей, это заебись.
>>2007997 >>2007999 >>2008011 По мне философия работы с CSS такая, если проект не большой и простота работы с кодом для кодеров не выливается ни во что серьезное на стороне клиента, то используйте стайледы. Если ты пилишь ёба гуглоамазоны, которыми будут пользоваться миллиарды людей, и каждая наносекунда отрисовки -100кк далларов дохода в секунду, то нужно ебаться с css и вылизывать производительность до предела. В противном случае это оверкилл либо в одну, либо в другую сторону. Если у тебя 2.5 страницы с 10 компонентами, сильно ли ты просрешь в производительности со стайледами?
Ну и мне кажется еще не пришло время того самого css решения, которое сначала было бы удобно кодерам, а потом при билде полностью компилировалось бы в pure css решение. Что и решило бы все проблемы разом.
>>2007968 >Ты сам-то сходу сможешь ответить какой будет результат вот здесь: Я бы сказал первым делом, что это говнокод, который противоречит принципам чистого кода и использует устаревшие возможности языка, и человека который написал такой код нужно повесить. Нахуй ты ебёшь мозг deprecated поебенью? Никто не объявляет function и var уже, кроме отбитых кончей, которые учатся на ютубе по устаревшим роликам. Тебя ебёт, как интерпретатор работает? Ты думаешь, тебя ебать будут такими вопросами на собеседовании, вопросами в духе "что покажет console.log(+!NaN)"? Ты преувеличиваешь. Такие обдолбанные васяны вкатываются, посмотрев один спираченный курсик Буры и сверстав тудушку, а ты страдаешь ОКР на ровном месте.
У меня есть компонент, который через ксс красиво и плавно меняет масштаб, когда на нем ховер. Когда ховер убирается он резко и не красиво меняет масштаб взад. Единственное, что я смог придумать это прописать масштаб 1 и трасформ уже в "дефолтном" стиле, без ховера. Чтобы анимации работали в обе стороны. Норм?
>>2008078 Блядь, чел, ты не поверишь, мне именно что такие вопросы и задавали. Если бы ты увидел какую ебалу я сейчас делаю за гроши, вы бы тут всем тредом орали, вот ровно про то, что я тебе скинул и про ебанутые +!NaN. Про нан вообще был один из первых вопросов на моём самом первом собесе, но потом-то я гештальт закрыл. А вот сейчас планирую рабочие проекты допилить, сдать, и уже искать работу на удаленке во что бы то ни стало за нормальные деньги. Стек по которому я работаю сейчас - ts + next со всеми втекающими и вытекающими серверного рендеринга, немного возни с сервером и беком, вплоть до сборки докера. Я вообще в ахуе с того, куда я уже полез на этом проекте, и насколько это далеко от джуновского фронта. А вот потом приходишь на собес и тебе на полном серъезе ебут мозги, с тем, что будет в приоритете поднятия, пустая вар переменная или декларация функции, ммм, сука? Понятное дело, что там не все вопросы такого разряда, но изъебства порой бывают именно на уровне задач Пилы из ужастика. Как пример: var a = 10; function func() { вот тут а будет = undefined if(a) { console.log(a); var a = 5; } func(); Что выведет консоль? А нихуя не выведет, проверку не пройдет, так как вар станет сначала андефайнед, поскольку ифовый блок объявление вар проигнорит, и ему сразу присвоится новое значение undefined. А вот до присвоения var 5 = оно уже не доберется. И думаешь с такими ответами ты не будешь срать на собесе? Вопрос о том, нахуй мне нужен вар, после того, как я не использовал его ни в одной строке своего реального кода в своей жизни, мне можно не задавать, за такие вопросы у нас во дворе сам понимаешь что делают. И я собеседиантам тоже бы с радостью въебал, но мне не перезвонили. А по всяким шарагам теперь мотаться я уже и сам не хочу, так что буду нацеливаться на минимум уровень мидла, чтобы в приличное место взяли. Вот и приходится обмазываться всяким говном несвежим и свежим.
>>2008104 >, вот ровно про то, что я тебе скинул и про ебанутые +!NaN. Блядь, пока текст редактировал, написал как шиз, в общем про вот этот самый нан меня спросили на моем самом первом собесе
>>2007890 С опытом приходит интуитивное понимание, на самом деле все элементарно. Как выше уже сказали, важно понимать замыкания и lexical scope, а не просто дрочить логику переменных.
>>2008162 надо понимать что все есть замыкания, но у типичного вкатуна нет понимания чем замыкание отличается от просто классических функции в других языках. пиздец жса начинается когда пытаешься начать собирать это ебаное лего в проект, а скоупы это херня.
Я этот css modules в рот ебал, вешаешь глобальные стили на body они где то отображаются где то нет. У каждого компонента свои инкапсулированные классы стилей. Почему бади не видно хуй знает. Вешаю вместо body стили на * вообще ко всему применятся, на body не ко всему. Это помимо css modules еще внешняя либа materialze подключена, пиздец мусорка.
>>2008256 Всё так. А что ожидать от самого расхайпованного языка программирования? >>2008261 >Замыкание это объект Ещё один дурачок. А функция - не объект?
Блять. А какого члена e.currentTarget и e.target это разная хуйня? Зачем в реакте вообще это сделали? В чем между ними разница? currentTarget это чисто реактовская хуйня для реактовских эвентов. А target панджаваскриптическая ебала. Так что ли? Я сейчас два часа ебал себе мозги потому что по привычке въебал слово current туда, где должен быть просто target.
>>2008349 >Документацию пробовал открыть, дебил? Бля, мне и в голову не пришло бы смотреть документацию, как и любому нормальному человеку. Наплодили объектов с одинаковыми названиями, так что теперь, на каждый микропук бежать 300 страниц доки перечитывать.
>>2008385 Дебич, мне просто поебать. Нахуя мне что-то гуглить, если я могу продолжить ковырять код и раз в 10 минут отвлекаться, чтобы рефрешнуть тред, и посмотреть, не ответил ли мне кто-нибудь краткой выжимкой в двух словах. Но тут, к сожалению, ты прибежал, и распукался ссылками на нахуй никому не нужный русский МДН.
>>2008390 Так ты же дебс, который без понимания что-то пукает про current target в реакте, хотя это нихуя не реактовсксая вещь. То есть тебе лишь бы высраться на тему, в которой не понимаешь, вместо того, чтобы сначала взять и открыть первую строчку из гугла
>>2008396 >Так ты же дебс, который без понимания что-то пукает про current target в реакте, хотя это нихуя не реактовсксая вещь. То есть тебе лишь бы высраться на тему, в которой не пон Ты долбоеб, послушай меня блять. Я никогда в жизни этим не интересовался. Это раз блять. Это для меня сейчас имеет околонулевую важность. Это два блять. Вместо того чтобы что-то гуглить и читать, из того, что в ближайшие пару часов мне просто нахуй не нужно, я поступил умнее: я спросил в треде, где обычно вкратце отвечают по сути. У меня даже на сотую тысячную блять десятимиллиардную секунды не промелькнула мысль: "хммм, интересно пиздец, нужно это загуглить". Потому что мне сейчас это нахуй не нужно, долбоеб, ты правда думаешь, что гугл у тебя одного работает? Еще раз блять, если в твой микромозг с первого раза такая сложная информация не залезает: мне гораздо удобнее спросить в треде и пойти заниматься актуальными в данный момент вещами, а потом через какое-то время просто прочитать ответ, чем что-то искать в гугле. Какое блять из этих слов в твой ебаный альцгеймерный мозг никак не может забраться? Это три блять.
>>2008472 Зачем тебе принудительно обновлять компонент? Вся суть компонента в том и заключается, что он обновляется только если прямые зависимости поменялись, если они такие же, то рендериться должно то же самое.
Хочу вкатиться с jsный бэк. Скачал ноду, заказал девчачьи носки и пояс верности. Какие дальнейшие действия? Думаю писать serverless и soa. Обязательно дрочить ts? Тогда в таком случае надо дрочить deno, а не ноду или как. Алсо не вкурил зачем вообще нужен докер, говно без задач. Мимо дроченый питонист на хую копчёный
>>2007146 >Блять, да просто зайди к Арчакову в гит и охуей Это нормально - пересоздавать массив при добавлении элемента или проверять каждый элемент при удалении конкретного элемента? Я знаю про иммутабельность редукса, но от такого все равно не по себе. Не обоссут ли за такое на собеседованиях, или для фронтенда это норма?
>>2008593 > Алсо, чем в питоне занимался, Ничем. Формально я не программист. Я просто знаю питон на +/- неплохом уровне, чтобы пройти собес. Из примечательных проектов это постилка на сосач с апи антикапчи и сайт на джанго, который проходил тесты на одном самописном сайте https://10.edu-reg.ru/login/ на 100%. В последнем случае я просто изучал джанго, а мне просто нужен был бэк на питоне, т е и fastapi, и flask сгодились бы. > почему перекатываешься? Вакансии же есть. Потому что хочу знать еще язык. Си и прочие знаю поверхностно и уходить дальше написания скетчей для блядуины не планирую. Жаба говно, го огрызок, хаскел для шизов, руби убер. Выбор не велик. А js как фюрер в вебе, но на нем еще можно писать (вставить любую модную зумерскую тему). По образованию полухуй, полу техник по компутерным системам. Писать код выгоднее, чем ремонтировать телефоны всяким Ахмедам и тетям Ларисам, а кушать я хочу
>>2008629 Логично. Одна большая просьба - никогда, никогда блядь не прячь ссылки и вообще кликабельные элементы под спойлеры.
Вообще есть еще как минимум сишарп (который на тс внешне очень похож) и котлин (привет, мобилки). Но если хочешь именно ноду (которая довольно сильно отличается от браузерного жс) - мой тебе совет, запили какой-нибудь проект для личного пользования, на работе или дома. Игру вот простенькую например. Заодно и практические навыки до минимального необходимого уровня подтянешь. И скачай еще vscode (чтоб код писать), впили туда eslint (гугл -> vs code eslint) и поставь github desktop (чтоб на гитхаб проект заливать) Все, собственно.
>>2008639 Юзаю vscode уже давно. Хотя зачем, если есть vim Пару вялых реп на гитхабе есть (впрочем, есть мысли перекатиться на gitlab). Да и вообще неплохо шарю за оба самых популярных ребенка пидераса Торвальдса. Котлин это онли ведро, а мне такое не заходит. Решетками обмазываться не позволяет религия, да и зачем писать прикладное по на шарпе, если есть електрон можно этого не делать.
А вообще ты попал прям в точку, анон. Моя цель на ближайшее время это накидать пару проектов в портфолио, чтобы потом слушать довольное урчание эйчара на собесе. Я посмотрел интервью одного бекендера жабаскриптизера и тогда собственно подумал "а почему бы и нет".
Возможно, мои проекты для личного пользования слишком специфичные. Если мне что-то нужно это или парсинг данных, или эксплоит (см мой пост выше) или браузерный кейлоггер на js.
Т е как ты понял, я умею много чего, но абсолютно все довольно хуйово. Поэтому настал час выбрать что-то одно и практиковать до уровня, когда нестыдно
>>2008647 >Возможно, мои проекты для личного пользования слишком специфичные. Если мне что-то нужно это или парсинг данных, или эксплоит (см мой пост выше) или браузерный кейлоггер на js. Да нихуя кстати, проекты как проекты. Минимальное владение инструменом демонстрируют.
>электрон Страдающая от ожирения реактогадость, node-webkit гораздо лучше.
Ну а про шарп ты так зря, кстати. На нем в геймдеве например много чего, да и язык реально неплохой и интересный - как-то ковырял так охуел аж, чего может.
>>2008653 Мб .NET и не такая плохая штука и я просто не знаю, но от энтерпрайза просто тянет чем-то очень нехорошим. Можешь понюхать жабу и го и то же самое будет. Геймдев на шарпе онли юнити, а юнити кал (мне так на ютубе сказали). Да и вообще вряд ли что-то кроме win ориентированных приложений получится писать, ибо mono говно без задач и под юниксы на шарпах не пишут
Гитлаб дает возможность бесплатно создавать приватные репы. Да и вообще стильно модно молодёжно
>>2008657 >Гитлаб дает возможность бесплатно создавать приватные репы Эээ, так это и гитхаб умеет сто лет в обед. Да и вообще они по функциям идентичны. Не, ну если из соображениц стиля - то перекатывайся, но лично я обычно ожидаю увидеть код на гитхабе.
>>2008657 >от энтерпрайза просто тянет чем-то очень нехорошим Или энтерпрайз, или веб, или геймдев - что еще-то. И кстати каждый вставит тебе свой, особенный хуй в жопу.
>>2008572 Изучай стандартную библиотеку ноды, express, потом nest.js + typescript, библиотеки для работы с вебсокетами, базами и очередями, аутентификацию и авторизацию
>>2008584 Это нормально при работе с редаксом, так и должно быть
>>2008596 Какой там жор производительности, три килобайта памяти, который GC быстро высвободит?
>>2008629 > Жаба говно, го огрызок Лол. А я наоборот с ноды на го ушёл. А жаба тебе чем не нравится? А сишарп?
>>2008672 Да я тот самый челик на 50к, который тут по основному недавно бегал, лол. Вкатился через одного своего знакомого, который посадил детальки чертить, а потом такой "слыш а у нас погромисты есть" - ну я и перепрыгнул
>>2008684 >Какой там жор производительности, три килобайта памяти, который GC быстро высвободит? Ладно, не жор, мне просто такой код не нравится. Так лучше?
>>2008684 > А жаба тебе чем не нравится? А сишарп? Энтерпрайз. Впрочем, у шарпа хотя бы лицо не индусское > typescript Меня на самом деле волнует этот вопрос. Его стоит учить параллельно или как? В таком случае чую, что в голове будет каша
>>2008684 >Это нормально при работе с редаксом, так и должно быть Мой вопрос был в том, почему это стало нормой. Для туду листа может быть и похуй, но есть много ситуаций, когда такой подход убьет всю производительность. Как, например, это будет работать с бесконечной лентой, особенно если юзер прокручивает ее уже в течение часа?
>>2008726 Сборщик мусора удаляет из памяти старый массив. Единовременно будут существовать максимум два таких массива, при копировании старого чтобы создать новый и добавить туда новые элементы, затем старый можно выбрасывать. Но да, редакс это жуткое отродье ФП-шизов
>>2008730 Да хз. Я тоже так думал, а потом начал с ним работать (ну, не совсем с redux, c ngrx, но паттерн тот же). И для здоровых фронтенд проектов, особенно когда состояние компонентов взаимозависимо - крайне удобно.
>>2008472 Если ты хочешь принудительно обновить компонент, значит это очевидно какой-то антипеттерн и ты хуйню каку-то придумал. А потом делают мемасики, где у них реакт плохой
>>2008011 В манямирке жсобдебила миллион файлов волшебным образом превращается в 10 строчек кода. Видать там твой говнофреймворк научился мысли макаки читать и автоматом подставляет наборы правил в элементе. >Если у тебя 2.5 страницы с 10 компонентами, сильно ли ты просрешь в производительности со стайледами? Если у тебя 2.5 страницы, нахуй тащить говнолибу в проект? >Ну и мне кажется еще не пришло время того самого css решения, которое сначала было бы удобно кодерам Так давно пришло, вон даже в сасс завезли модули, всё как макаки любят. Проблема в бутстрап архитекторах, которым хочется скачать либу "сделать заебись", так как каскадность и селекторы - сложна.
>>2008650 >Страдающая от ожирения реактогадость, node-webkit гораздо лучше. Причем тут вообще реакт? Они оба основаны на движке хромиума, приблизительно одинаковые по производительности и могут работать с любыми фреймворками. Только электрон намного популярнее, имеет отличную документацию и больше фичей.
>>2008686 Этот код можно абстрагировать в функции чтобы не писать каждый раз. Например, первый case на скрине можно вынести в функцию "добавить к концу массива".
// Было retirn { state, ...items: [...state.items, action.payload] }
Поясните тупому. Тут недавно какой-то системный архитектор (так его клиент назвал) попытался мой скрипт на линух установит. И говорит не может запуcтить через start в PM, ошибка вылетает. Я то сам ньюфаг-вкатун, в душе не ебу что это такое и загуглил.
Оказывается, люди чтобы не держать открытой консоль используют отдельный софт для запуска ботов в фоне. Но нахуя нужен этот костыль, который ещё и ошибки сам может генерировать, разве не проще запускать через демона?
Есть асинхронная функция, которая получает данные с сервера, потом запускает рендер компонента (в модале) и диспатчит (через useReducer) экшон в компонент, который в модале. Так вот, есть проблема, диспатч не доходит, стейт компонента в модале никак не меняется, выглядит все это примерно так: const doSomething = async () => { const someData = await fetch(someOtherData) openModal(); dispatch({type: someAction, payload: someData}) }
>>2009529 Консоль лог тоже не работает, нихуя не выводит, хотя модал открывается. Я мейби и ждун, но я не тупой, я такие вещи сразу проверяю. Бтв, я теперь на 100% понимаю все прелести TDD, прямо чувствую, что нужно в тесты вкатываться. Вот написал функцию, а она не работает, почему хуй его знает. С редуксом хоть в дебагере можно было бы глянуть, а с useReducer только хуй пососать можно
Имеется контроллер, который выводит всех юзеров. В html с помощью th:each Я вывожу их всех. У меня ниже написано модальное окно в котором я могу отредактировать юзера(рядом с именем кнопка)
Есть вот такая кнопка, для удаления юзера, ее логика примерно такая же как мне нужна, для edit, в edit на данный момент я пишу все также и есть функция onclick, которая остается на экране, только если type="button", но id всегда одинаковый.
Так вот проблема в том, что мне нужно в модальное окно передать id юзера. Как поступить? Спасибо за любые советы
Я тот >>2008572 анон. Изучаю ts. Начал с понятного - tg api. Стянул один реп и пошел изучать. И я охуел сначала, что у всего есть типы и это очень удобно, а потом с того, что у message нет атрибута text. Знатно бомбанув пошел курить доки и наткнулся на это объяснение (пик). Т е не каждое сообщение имеет текст и это нужно отдельно проверить, а vscode мне сама об этом сказала. И охуеть, но атрубут text появился (sic!) в if блоке проверки! Учите ts, посоны, ts сила
>>2009570 Иногда читаю сообщения всяких аутистов и сначала не понимаю что они хотят. Надо бы забить хуй, но я в итоге погружаюсь в тему, думаю мало ли что-нибудь интересное. В итоге хуета какая-то.
>>2009626 Твои завышенные ожидания находятся только в твоей голове, типо это твои личные проблемы. Я например все написанное здесь воспринимаю иначе. Для меня априори все написанное тут не интересно, но я прочитаю и будет здорово если там что то интересное окажется.
Т.е. хорошие сообщения для меня тут исключение Я, а не наоборот. Попробуй так ж мыслить, может легче будет жить
>>2009728 Да вот знаю, я заебался уже с этим нуллом, ленгтх которого меня посылает нахуй сразу. Вот я это решение с [ ] нашел и интересно стало почему это работает. Вроде понял, а вроде и нет.
А как лучше сделать, не подскажешь? Раз уж это такое себе решение.
>>2009566 Дебаггер в модале ничего не дает. Никаких аномалий. Прописал дебаггер в асинхронной функции, которая получает данные и открывает модал и заметил одну хуйню. Во время диспатча экшона модал уже существует (на экране он уже отрисован, все заебись), но не открывается если нажать на него в реакт-дебаг-тулз (или как-то так, расширение для хрома), пишет "Could not inspect element with id XX". При этом в самом модале есть дочерний компонент, куда и отправляются диспатчером экшоны, так вот, его на этапе диспатча нет даже в реак-дебаггере. То есть экшен уходит, все заебись, но никуда не приходит, потому что приходить не куда. Хотя на экране компонент уже отрисован, все заебись. Вот это меня пиздец сбило с толку вчера, я весь день думал, что косяк в редюсере, который неправильно обрабатывает экшон. Как это можно пофиксить? Пробовал сделать обернуть функцию-диспатчер в setTimeout, это нихуя не сработало. По прежнему компонент отрисовался, а изменений стейта нет. И, на всякий случай, это не ошибка в "применении "стейта", если из реакт дебаггера изменять стейт вручную, то все изменения видно.
Есть какой-то стандарт по семантическим тегам в 2021? Где почитать? Я кроме чисто технически обусловленных тегов типа инпутов и кнопок не особо представляю, чем section от div отличается, когда кусочек текста это h6, а когда p. И прочая хуета. Просто наугад хуярю по каким-то субъективным ощущениям
Посоны, поясните по харкдору, у меня около 1.5 лет опыта работы. Сначала занимался личным кабинетом, потом вкатился в тырпрайс и пишу приложения для заводов. В обоих местах использовался ангуляр с библиотеками готовых компонентов (material, devExtrem), не поддерживались мобилки и бразуеры, кроме хрома. То есть задачи были в основном на написание логики. Сейчас я начал задумываться о том, куда двигаться дальше и увидел два стула
1) Ковырять ноду и уйти в бек
2) Задрочить верстку и пробовать вкатиться на работу в какой-нибудь Тинькофф или Яндекс.
Правильно ли я оцениваю ситуацию? Насколько вообще в 2021 году актуальна верстка? Можно ли не задрачивая ее стать фронтовиком 300к в секунду?
Ребятки, всем привет, помогите верстальщику со слабым знанием js. Есть сайт, на ней форма авторизации, как мне сделать проверку формы на правильные логин и пароль, логины и пароли хранятся в файле. Спасибо
>>2009924 Кому ты пиздишь? Даже по приведенным тобой ссылкам ясно и четко написано, что section это дочерний элемент article. Что на что ты менять собрался?
>>2009901 ну ты сам подумой чо хочешь то - если в управление, то я бы еще попрошарился в ноде, покодил бы и там и там, посвыкся бы с подходами к разработке, пол-десяточка лет бы так поработал, решая разные по стеку, уровню организации и сложности, задачки. а потом уже искал где-нибудь место лида. короче, оба стула. какбы, эта работа такая, где ты товар и ты стоишь столько сколько ты можешь сделать. а если ты можешь всё от "покрасить кнопочку", до "разработать архитектуру системы управления миром", вот тогда ты будешь 300к/нс. Ну либо если будешь пиздеть складно, но сейчас не об этом.
А еще меня поражает как люди смотрят на вёрстку. типа это вообще какая то отдельная хуета, которая собой и составляет фронтенд. Блять, давай посадим тебя в разработку какой-нибудь внутренней приложухи с параллельной разработкой своего ui/dev-kit'а. да тыж засохнешь там без своего material. имхо, ты, как разработчик пользовательских интерфейсов, да и просто как разработчик, обязан стремиться к глубокому пониманию всех своих инструментов разработки.
>>2010255 >имхо, ты, как разработчик пользовательских интерфейсов, да и просто как разработчик, обязан стремиться к глубокому пониманию всех своих инструментов разработки. Угу, если не выучил на зубок сырцы всей тысячи пакетов своего вебпаковского конфига, то ты не вротендер вовсе.
>>2009802 кароче, если речь идёт не о проверке на истинность (if там или тернарник), то эта штука работает так, что она по очереди приводит значение к булю и передаёт первое истинное. в случае null || [] это массив, в случае 0 || null || undefined || [].length || 'хуй' это 'хуй'. почитай про приведения типов и вот это https://learn.javascript.ru/logical-operators
про лучше, хз. я бы либо таким способом воспользовался, либо str.split(regexp).length - 1. но шо то уродливо, шо это. я не знаю зачем разработчики жабаскрипта сделали такую неконсистентную хуйню, что match может возвращать либо массив либо null, но блять, сделали, живи с этим
>>2010279 ну не, не настолько конечно. жизни не хватит всё так задрочить. Это скорее к тому, что чем больше ты знаешь про свои инструменты разработки тем быстрее ты будешь, собстна, разрабатывать. и тем меньше твои шансы выстрелить себе в ногу
>>2003892 (OP) Господа, реквестирую помощи, на проекте используются сокеты с низким значением таймаута, пользователи переехали с ишака на chrome с его новомодным троттлингом скриптов при неактивной вкладке, в итоге пользователи шуршат в другой вкладке читают документы, возвращаются назад, а приложение отвалилось по таймауту. Как решать сию досадность? В лоб - повышать таймаут? Или как то элегантно можно? Галочки в хроме ставить не вариант, они с обновами слетают.
Подскажите, не затратно ли использовать один большой css-спрайтшит на множестве элементов? Ну, например, есть картинка 1000х1000, и есть сотня дивов 50x50, у которых эта картинка бэкграундом в разных позициях. Это нормальный, рабочий подход?
>>2010409 Это нормальный, но весьма устаревший подход. Уверен, что тебе действительно нужен спрайтшит? Как твой спрайтшит ведет на экранах с разным dpi? Уверен, что растр это твой выбор в 2021 году? Уверен, что его нельзя заменить специализированным шрифтом-пиктограм, или набором svg?
не понимаю почему пишет что аргумент undefined если его видно, и во внутренних компонентах и везде, хуле ему не нравится? Уже 4 часа голову ебу этим вопросом
>>2010423 Да не, у меня игра браузерная, придумываю реализацию игрового поля из тайлов. Сейчас там вообще канвас, но чет подумываю перейти на DOM и css, а то больно много матана. Благо, поле довольно статичное.
>>2010433 Фух ебать разобрался, самописный сабскрайбер при обновлении вызывался без аргумента, в который надо передавать стейт. Ебать мой хуй. Я пошел спать.
>>2009855 Короче, я ебал. Хоть обосрись, компонент загружен, отображается на экране, но в процессе дебага недоступен, экшоны туда тоже не уходят. Что делать, я не ебу. Кто-нибудь сталкивался с такой хуйней? В модале есть компонент. И есть функция, которая открывает модал с компонентом и диспатчит туда (через useReducer) некоторые данные. Данные не доходят. Компонент отрисован на экране, но недоступен из реакт-дебаггера, есть включить хромовский дебаггер и поймать момент диспатча экшона.
>>2010493 Не сработало. Ну я хуй знает. Есть еще идея, но это пиздец геморрой, отдельный компонент пилить придется. Если никто не знает, что делать, то придется пробовать.
Анонсы, нид хелп. Захотел покрыть свой проект автотестами, но влип. Мне надо как-то при запуске сайта, ещё до того как все прогрузилось сунуть в <script> нужный мне скрипт, который замокает некоторые методы. И я не могу докумекать как это сделать. 1. Webdriverio умеет запускать скрипт на странице и он срабатывает, но только после того как вся страница загрузилась. К этому моменту приложение уже решило что метода нужного нет (потому что его изначально не было, а потом появился). 2. Думал в сторону прокси сервера, который будет инжектить нужный скрипт, но не могу понять как его заставить работать и видеть трафик локального дев сервера реакта на localhost:3000 Есть идеи?
>>2003892 (OP) Двощ, помоги. Изучаю промисы и вот такой затык. Как сделать так, чтобы вывело 1, потом ['x'] не оборачивая остальные функции в .then в setTimeout?
>>2010689 Ты говори промису делать одновременно и микро таски и макро таски, что бы микротаски шли в ряд пиши promise.then(микротаск).then(микротаск).then(микротаск)
Макротаски нужны ток для выполнения асинхронных функций типо таймаута и запросов
>>2010696 >>2010726 Я вроде как разобрался. В моем случае надо было возвращать промис в каждом then, тогда получается цепочка и все идет чередом. З.Ы. А где есть хороший материал по промисам, чтоб примеры были связанные с DOM-деревом, работа forEach в then и прочее. В основном везде, где натыкаюсь примеры недостаточно информативны, кмк.
>>2010793 Ух, не только лишь он экономит два символа на каждом объявлении, так еще и несколькл перменных на один let! Иногда конечно видимо лишний раз шифт то зажимает для кавычек, но не всегда! Еще и wsl на дебиане для двух файлов, лол
>>2010807 >АРЯЯЯ FOR НИКРУТА! НИКРУТА ЯСКОЗАЛ! >Почему? >ДА ТЫ СЛАБЫЙ КОДЕР ПРОСТО! СЛАБЫЙ! СОСАТЬ НАХУЙ! FOR БЛЯТЬ НАХУЙ! >Ты можешь конкретно сказать что с ним не так? >БЛЯТЬ ДА ЩАС ЖЕ 2021! НЕ 2020! FOR ОН ЮЗАЕТ АХАХАХ СУКА САСАТЬ
>>2010911 У тебя ничего не должно было заработать, так как нельзя вызвать промис как функцию. Если у тебя там "return promise", то ты просто возвращал тот промис, который у тебя записан в переменную "promise". А заработало у тебя всё, потому что в твоем коде значение, записанное в промисе, никак не используется. То есть ты просто написал обычный код, но по ржачному засунул его в then'ы
>>2010881 Тоже не понимаю в чём проблема. Его разве кто-то использует кроме как для циклов? Хотя если таким удобно через ваил писать однострочные циклы, то ладно. Правда код читать пиздец
>>2010972 Не слушайте его, вас этим варом заебут на собесах старые пердуны, кодящие еще с середины 19 века. В работе он не будет использоваться никогда
>>2010289 > кароче, если речь идёт не о проверке на истинность (if там или тернарник), то эта штука работает так, что она по очереди приводит значение к булю и передаёт первое истинное.
> если речь идёт не о проверке на истинность (if там или тернарник) А если о?
>>2010779 Блять. Я понял где я обосрался. Я с какого-то хуя решил, что все редюсеры, работают как в редуксе. Т.Е. Доступные для любого компонента, что useReducer(x) в одном, и useReducer(x) в другом компоненте, это один и тот же редюсер который находится где-то во вне. Я блять забыл, что это просто хук в одном из компонентом. Пизда. А как можно наебать систему и воспользоваться тем редюсером из другого компонента?
>>2011027 Думал о первом варианте. Но мне это надо делать во время тестов, а не просто захардкодить через дот енв. Есть ли тут знатоки, можно как-то проксировать и перехватить запрос на локалхост?
>>2011048 Ок, я сделал так: export const useCustomReducer = () => { const [state, dispatch] = useReducer(reducer, initial state) return { state, dispatch } } В двух компонентах импортирую этот useCustomReducer и делаю так: const {state, dispatch} = useCustomReducer(); dispatch(something) И все еще при открытии модала экшон не доходит. Это потому что я ОПЯТЬ использую две РАЗНЫЕ инстанции одного редюсера (кастомного хука)? Если да, то как надо-то его экспортировать, я чет не пойму? Хуки можно писать либо в кастомном хуке, либо в компоненте, а из компонента нельзя экспортировать.
>>2011225 Окей, новая проблема. У меня используется валидация из react-hook-form. Когда открывается модал с переданным стейтом (и стейт отображается, все заебись), то нужно прокликать по всем полям, иначе будет ошибка required. При этом в поля можно даже ничего не вводить, сверх того, что там есть, достаточно просто прокликать, типо "активировать" их. Это мой первый опыт работы с react-hook-form, кто-нибудь знает как эту хуйню обойти? Есть идея искусственно зафокусить все три поля из кода и остановить фокус на первом.
>>2011251 >Это нормальный UX Я не понимаю. Это обвинение в том что я говно сделал? (мейби так и есть). >Никто не хочет при открытии формы получать в лицо 200 ошибок. Ну так получается-то наоборот. Поля формы заполнены, но если их отправить, то выскакивают ошибки, которых быть не должно, потому что поля не пустые.
>>2011235 >>2011251 Или подожди, у тебя сразу ошибки видно? Надо начальные данные передавать в useForm({ defaultValues }) если данные есть сразу, если не сразу то form.reset({ defaultValues })
>>2011257 >useForm({ defaultValues }) если данные есть сразу, если не сразу то form.reset({ defaultValues }) Аааа, вон оно что. А я тупо из стейта читаю значения формы. А вообще, это разве не одно и тоже? Что я меняю стейт и читаю его, что я буду читать стейт в default values?
>>2011267 Нет, одни хуй, ничего не помогает. Блять проблема странная какая-то, будто бы форма (вернее функция валидации) не воспринимает введенное значение, до тех пор пока форма не зафокусилась. Даже если в инпуте уже есть значение, react-hook-form его не видит до тех пор, пока форма не попала в фокус. defaultValue, настройки режима валидации и перевалидации - ничего не помогает.
>>2011327 Причем эта ошибка связана только с required, другие способы валидации подобных ошибок не генерируют. Есть эксперты по react-hook-form? В чем тут дело? При чтении из стейта, форма не считает, что инпуты пустые, до тех пор, пока поля не попадут в фокус. Учитывая, что форма по-дефолту фокусируется на ошибке, то приходится несколько раз кликать на submit или руками кликать по всем полям.
>>2011339 Что в коде? Куда мне смотреть в коде? Я ничего особенного не сделал, форма 1 в 1 как в getting started на странице react-hook-form. Вот пример инпута: const options = { required: { required: "Required field", } <input className="input" type="text" {...register("input", options.required)} value={state.input} onChange={handleChange} /> {errors.input && <span className="input">{errors.input.message}</span>}
>>2011371 Ну конечно там такого нет, там и форма кукольная. Я не думаю, что onChange и value, что-то настолько разъебали в коде react-hook-form, что форма перестала воспринимать value до тех пор пока на ней не сфокусируешься.