Это копия, сохраненная 22 мая 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Старая паста, частично устарела - https://pastebin.com/9yRADC0s
А нахуй вообще нужны дата сайенсеры если даже я могу постой скрипт написать, чтобы реально все коэффициенты по очереди перебирать?
В голос нахуй
Здрасьте. Подскажите пожалуйста есть ли какие-нибудь задачники по типу codewars, но чтобы там задачи были построены на взаимодействии с DOM?
<App>
<ComponentOne/>
<ComponentTwo>
<ComponentThree/>
</ComponentTwo>
</App>
В ComponentThree есть важная функция, которую я хотел бы передать в ComponentOne.
Как это лучше сделать? Я думаю про context, хотя никогда им не пользовался. Подойдет? Или есть еще вариант вынести эту функцию в App, а оттуда передать ее в ComponentOne, Two ----> Three. Как лучше?
Хуй знает делай в общем компоненте и разниси их по дочерним,
Бля, не нужен. Это буквально одноразовая ебля. Там приложуха на полмегабайта, я не хочу подтягивать миллиард зависимостей.
А может проще экспортировать функцию из компонента, а? БТВ, если что это не дефолтный сетСтейт, это обертка над ним с доп.функциями.
Во-первых useDispatch. Во вторых он в связке с редаксом работает а не заменяет его
Есть Effector, Zustand, Jotai и даже Recoil
На какой сам сядешь, на какой стартап подсадишь?
Ну типа.
Че епта? Solid используй епта. Стейт там епта есть. Ну если ебать изъебнуться хочешь ебать, то бери storeon ебать, как нормальные поцаны блядь, не как бабы. Чтобы всё четко было ебать.
Почаму вывод именно такой? Разве не должны вывести сначала все синхронные вызовы console.log, затем те что были обернуты в setTimeout и затем промисы?
Потому что ты проебался, читай код ты console.log синхроно вызываешь в setTimeout'e вместо того, чтобы передать ему функцию
А блять, ну да)
Сегодня от короны прививался, сейчас че-то башка болит пздец и темпертура
Пойду спать что ли, надеюсь не сдохну
Прям ощущаю свое превосходство над опущенцами-ретроградами
>>197153
> Redux
>не хочу подтягивать миллиард зависимостей.
Ты упоролся? Там кода строк пятьсот с учётом комментариев, импортов и фигурных скобочек.
Неосиляторы, блин.
Двач, че бы такое написать? Хочу фулстек на mern стеке и шобы можно было осилить в соло и шобы приносило сколько то денег желательно
Ну как бы стейт будет "весить" что-то около 40 строчек кода. Или вроде того. С учетом импортов и фигурных скобочек.
Или ты неосилятор и не можешь 40 строчек кода выпукнуть? Ты же не неосилятор, да?
Но всё же конечно лучше говнокод не писать, а просто использовать https://github.com/storeon/storeon/blob/main/index.js эти 40 строчек. Или хотя бы поискать вдохновения в них.
Ты хотел сказать zustand?
Ага, а байтики значит передаются почтовыми голубями? Удаленку для кого придумали?
Для вкатунов нет удаленки. Если ты из пердинска какого то единственный варик смотреть ближайший миллионник. Если конечно не хочешь говнобложики на пхп писать
Я в миллионнике. Вакухи там сразу для миддлов/сеньеров, джуняры не нужны никому
Попробуй фейковую резюмеху сделать на левое имя. И посмотри как много откликов, приглашений. Если много, значит рассматривают.
Я на всякие вакухи пробовал откликаться, даже на те, где написано "без опыта", "обучаем", а в итоге либо отказ, либо просто игнор. Хз, зачем тогда они выкладывают вакухи? Некоторые вакухи висят годами, одни и те же, даже на должность стажеров/джунов, хотя никто не отвечает по этим вакансиям. Не понимаю нафига эти вакансии постят
Казахстан. Тут конкуренция нулячая в сравнении с россиянами, украинцами или белорусами.
У нас тут два города всего крупных. Астана и Алмата. И в них платят на уровне крупным городов России. Меньше чем в Москве и Питере, но больше чем в Самаре и подобных городах.
Можно этим заниматься, какой-то спрос есть, но будешь одни ленды делать.
>вкатиться
Делаю чисто для себя по фану такую же ебалу, в лайзи режиме, всяко лучше чем в танки и задроту гонять
>тудушка, одностраничный магазин, конвертер валют, прогноз погоды и прочие мелкие приложухи вкатунов
Да не, как чуть-чуть освоишься, поймешь что вся эта хуйня делается вообще в пару строк и нихуя не стоит. Тудушка это уже вообще просто мем скорее, чем скилл, просто потому что это по сути хеллоуворлд от мира реакта
Пока вкатывался освоил:
ts
react
next
three
все эти ваши мобиксы редуксы
stуled components и вся эта куча ебалы вокруг стилей, со всеми бутсрапами и материалуй
сделал 2 сайта довольно больших, и то кажется, что нихуя не знаю, и есть еще что подзубрить по чистому жс, чтобы не обсираться на совсем уж глупых мелочах
И сколько чего ты еще собираешься выучить, чтобы пойти джунчиком за 25к?
>тудушка
Хуйня
>одностраничный магазин
Это уже посерьезней, но вангую там говнокод + все весьма примитивно. Дай что ли ссылку посмотреть.
>конвертер валют
Хуйня даже примитивнее годной тудушки.
>прогноз погоды
Еще примитивнее прошлого пункта, просто получаешь по апи данные с какого-нибудь гисметио или хз откуда и вставляешь на сайт. Такое в обучающих видео по запросам по сети в курсе "основы ЖС" предлагают в качестве пета.
>мелкие приложухи
This. В этом и проблема, мелкие приложухи нихуя не показывают, что ты что-то умеешь. Они показывают, что ты можешь повторить одинаковый паттерн кода миллиард раз. Поэтому смысла плодить мелкие приложухи - 0 целых хуй десятых. Лучше выебнуться и запилить что-то одно, но большое и годное, что сразу выделит тебя на фоне легионов с мелкими приложухами.
В итоге у чуваха 1 сомнительный одностраничный магазин (даже без роутера? Без хотя бы примитивного бека? Без авторизации?) и куча "поделок младшеклассника".
Не отчаивайся анон, если долго мучиться - что-нибудь получится. Я вот бездарь бездарем, а меня и то взяли в мухосранске легаси-код ковырять. Зарплату, правда, выдают хуями, но это ничего.
>Я вот бездарь бездарем, а меня и то взяли в мухосранске легаси-код ковырять. Зарплату, правда, выдают хуями, но это ничего.
Какой стек и зп?
>Лучше выебнуться и запилить что-то одно, но большое и годное, что сразу выделит тебя на фоне легионов с мелкими приложухами.
Например?
>Еще примитивнее прошлого пункта, просто получаешь по апи данные с какого-нибудь гисметио или хз откуда и вставляешь на сайт. Такое в обучающих видео по запросам по сети в курсе "основы ЖС" предлагают в качестве пета.
Чел, ты пропустил слово "react". Плюс раньше писали, что достаточно уметь написать тудушку, чтобы пойти джуном, а сейчас что надо уметь? Писать свой видеочат?
Мало ли что писали раньше. Рыночек порешал. Корона наебнула все нахуй. Теперь каждая кассирша в пятерочке может тудушку на реакте запилить, только хуле толку.
>Корона наебнула все нахуй
А другие наоборот пишут, что все на удаленку попрыгали, конкуренция работодателей за работников увеличилась.
Да. Я начал учить ебаное вью вместо реакта, потому что в моей мухосране на тот момент было больше (на 1, кек) вакух на вью. Плюс я подумал: "вот все реакт учат, на реакт и конкуренция большая, а я разумист блять". Ну а то что жиквери, как я писал, это не моя прихоть, мне пришлось в этом говне мамонта разбираться.
Сейчас бтв, на рекат 100+ вакух, а на вью в районе 20ти. Если меня выпрут нахуй, то без реакта я больше никуда не устроюсь.
>>1972052
Ждуны на удаленке не нужны. Ждун нужен в офисе, чтобы его можно было обоссать и подрочить для поднятья самооценки.
>конкуренция работодателей за работников увеличилась
Да за миддлов и помидоров.
> Чел, ты пропустил слово "react". Плюс раньше писали, что достаточно уметь написать тудушку
Ну ты еще 10 лет назад вспомни, когда за знания html с руками отрывали.
>Я начал учить ебаное вью
И когда это было? Наверное во времена вью2? Сейчас вью 3, считай ты его не учил
Сначала выдало охуительную ошибку о том, что у socket.io дескать нет дефолтного импорта, хотя вот же этот дефолтный импорт у них в главном ts-файле. Дальше чудеснее: в ts-файле socket.io, откуда прописаны импорты, тупо дублирую дефолтный импорт в перечне именованных. И пробую импортировать его. Работает!
Но дальше ещё какая-то ебала выскочила с Ajv-модулем. Мне, честно говоря, уже совершенно не хочется разбираться с частностями. Просто хочу понять, ЧТО НЕ ТАК-ТО?
>Ждуны на удаленке не нужны. Ждун нужен в офисе, чтобы его можно было обоссать и подрочить для поднятья самооценки.
В офисе он тоже не нужен
Нужны.
>Ждуны на удаленке не нужны. Ждун нужен в офисе, чтобы его можно было обоссать и подрочить для поднятья самооценки.
Сука, вот только дайте мне вкатиться... После этого выучу инглиш идеально и перекачусь на забугорных господ, а вы будете сасать, жадные кабанчики
У тебя все равно очень устаревшие представления. Джунов после говнокурсов просто дохуя, теперь будь добр и верстай нормально и алгоритмы знай и вместо тудушки за методы отладки ридакса поясняй.
Не понимаю почему зафетчить не могу
у ссылки сайта откуда фетчу ещё сертификат безопасности кстати просрочен, но я уже добавлял сайт в исключения в своем браузере
вот на пик3 ошибка и она даже не обрабатывается, то есть мне что-то мешает сделать фетч
Реакт имеет отношение к реактивному программированию?
Да. Когда кабанчику надо срочно новую фичу, все в его конторе начинают программировать реактивно.
Ну я так привык просто
Ты хоть раз тесты писал, мань? Тесты стейта это дополнительно 10 строчек говнокода. А остальное руками для любого стейта придется писать.
2342x964, 0:43
Что бы увидеть изменения компонентов приходится вручную страницу обновлять.
В чем проблемка? стандартная create app из коробки, dev-server мониторит.
В гугле прочекал, там советы аля если файлы не видит, но у меня видит файлы.
Не знаю что конкретно у тебя, но у меня тоже когда-то было много проблем с нодой и другими вещами на линухе. Я тогда переходил на линь и пробовал Kubuntu (KDE) потом Xubuntu (Xfce), с обеими реально конкретно пропердолился с разными проблемами но ничего не помогло. Я уже было передумал переходить на этого ебнутого пингвина но решил просто обычную Ubuntu поставить напоследок. На ней все почему-то сходу завелось и сижу на ней до сих пор.
Ага, нам же не на js писать надо, а админству учиться
ПРИШЛО ВРЕМЯ ПЕРЕКОНПЕЛИРОВАТЬ ВЕДРО
ВЕДРО САМО НЕ ПЕРЕКОНПЕЛИРУЕТСЯ
ПЕРЕКОНПЕЛИРУЙ ЕГО, ПЕРЕКОНПЕЛИРУЙ ЕГО ЕЩЕ РАЗ
ЗАЧЕМ МНЕ НУЖЕН ШINDOWS, Я СЛИШКОМ ГОРД ЧТОБЫ СТАВИТЬ ЕГО
ЛУЧШЕ ЕЩЕ РАЗ ПЕРЕКОНПЕЛИРОВАТЬ ВЕДРО
Я ПЕРЕКОНПЕЛИРУЮ ВЕДРО ПО 7 РАЗ В НЕДЕЛЮ
КАЖДАЯ КОНПЕЛЯЦИЯ ЗАНИМАЕТ ДВАДЦАДЬ ЧАСОВ
Я ЖИВУ АКТИВНОЙ И ПОЛНОЦЕННОЙ ЖИЗНЬЮ
Я УСПЕШЕН И ПОЭТОМУ ЦЕЛЫЙ ДЕНЬ ЕБУСЬ С КОНСОЛЬЮ
А ПОСЛЕ ЭТОГО ПЕРЕКОНПЕЛИРУЮ ВЕДРО
ТУПЫЕ СПЕРМОБЛЯДИ ОДЕРЖИМЫ АНАЛЬНОЙ ПРОПРИЕТАРЩИНОЙ
А Я СВОБОДНЫЙ ОТ БЫДЛОПРОБЛЕМ ЧЕЛОВЕК
СКОЧАТЬ БЕСПЛАТНО С РЕПОЗИТОРИЯ ЕБИЛДЫ
ИМЕРДЖ ГЕНТУ-СУРСЕС МЭЙК && МЭЙК МОДУЛС_ИНСТОЛЛ
ЛУЧШЕ Я ПЕРЕКОНПЕЛИРУЮ ВЕДРО ЕЩЕ РАЗ
И ПОСТАВЛЮ ДРАЙВЕРА НА ПРОЦЕССОР С ЛОРА, СТАБИЛЬНОСТЬ НУЖНА
Я НЕ КОНПЕЛИРОВАЛ ВЕДРО НЕДЕЛЮ
ПОЙДУ ПЕРЕКОНПЕЛИРУЮ
В ПИТУХ ОС ВСЕ ПРОСТО И ПОНЯТНО
АААА ОШИБКА 12309. ЭТО ЖЕ ОЧЕВИДНО КАК ЕЕ РЕШИТЬ
ПРИШЛО ВРЕМЯ ПЕРЕКОНПЕЛИРОВАТЬ ВЕДРО
ККОКОКОКОКОКОКО
ЖМУ EMERGE WORLD СПЕРМОРАБЫ ШВАБОДКА ШТОЛМАН
КОКОКОКОКОКОКО
Нахуй разрабатывать на венде, если дефолт для веба это лялих и его один хуй учить?
Хз, я всю жизнь на ней сижу, полет нормальный. Линукс раньше на отдельном ноуте стоял, теперь, слава wsl, прямо внутри винды.
Вендоблядь отрицает реальность, где практически все хостится на линуксе? Мне даже интересно что с тобой будет в первый же рабочий день, когда ты не сможешь сделать что-то тривиальное через ssh, впрочем вендодаунов еще на этапе интервью как правило отсеивают.
Ну че пацаны никто не сталкивался с таким? Или не ебатт моз и настроить свой конфиг вебпака?
Чтобы ты попердодился, как и весь редакс экосистем.
Ну, если это в боевом проекте, то либо артефакт рефакторинга, либо писал конченый индус.
В отрыве от практических задач знания не нужны, значит - практические задачи на линуксе. Попробуй ансибл например освоить, лол.
Кокой багор. Евангелист не знает, что для пользования ссш не обязательно иметь на рабочей машине пердоликс?
>Ждуны на удаленке не нужны.
Работаю на удаленке джуном. Короче говоря, нет никакого единого секрета успеха, если у тебя есть знания и желание работать, ты таки работу найдешь.
почистить кеш
Подскажите альтернативу jPlayer. Последний не работает на Safari и зависает/падает на Microsoft Edge.
>альтернативу jPlayer
В смысле, такой же тухлый кусок говна?
Если нужен большой и полнофункциональный плеер – шака.
Если проиграть баннер – просто тег видео.
Всё остальное не нужно.
Это ты еще современную Fedora Workstation не пробовал.
Это вылизанная копроративная GNOME-based ОС, как убунту, но только с оригинальным гномом, без убунтовских перделок, и заточенная для использования разработчиками.
только промисы раньше таймаутов должны вывестись ваще, это микротаски
Как это сделать? Бэка нет, отсылать файл некуда. СПА собирается вебпаком. Заставить пользователя складывать в папку картинки, а потом прописывать путь до них? Взлетит? А если уже все собрано и минифицировано? Тоже взлетит? А можно как-то браузером прочитать файл в файловой системе и сохранить путь до него в качестве ссылки? Чтобы, например, картинка могла быть на рабочем столе.
JS не так было интересно изучать, как React, в который так и хочется глубже и глубже погружаться и постоянно открывать какие то интересные бест практикс.
С дивана могу предположить, что картинку можно перегнать в base64, а потом сохранить в localstorage.
>Какой же реакт одновременно простой и одновременно сложный. Охуенный.
Я тоже так думал, когда смотрел ту часть видеокурса, в которой Юрий Бура делал тудушку. А вот дальше всё больше и больше охуевал с того что вообще делается блядь
Как сумел, много пришлось изучить?
SW Cache API
Вся глубина реакта – это как сделать тривиальную вроде бы вещь с наименьшей болью в его переинженеренной инфраструктуре.
Вот точно, это то что нужно, спасибо.
После главы с тудушкой глубина понимания возможно начнёт падать. Я с каждым следующим видео все меньше и меньше понимаю что вообще происходит, блядь, хотя главу с тудушкой понимал на лету.
>JS не так было интересно изучать, как React, в который так и хочется глубже и глубже погружаться и постоянно открывать какие то интересные бест практикс
Только недавно дочитал Кантора. Сделал простенькое приложение на чистом JS с манипуляциями DOM и fetch. Ну и тудушку конечно
Ясно. Кантор эт хорошо, но желательно пару книг еще навернуть, что бы вопросов не было по реакту потом.
Да хули их наворачивать, я потом просто доку реакта прочитаю и начну срать-мазать-лепить какую-нибудь реакт приложуху.
>пик
const f = could =>
!could &&
(() => {
const a = Math.random() + 5;
const b = Math.random() + 5;
return a + b;
})();
Несколько лет назад, когда я вкатывался на фронт, то реакт мне показался реально охуенно удобным и понятным, в отличии от ангуляра. И я в принципе нормально им пользовался, пока вот не пошла мода на анал в виде хуков, которые я лично считаю калом и раком.
>догуглишь
Нельзя им пренебрегать
Гуглёж есть архиважный скилл для любого кодера(матерые жиквери-синьоры подтверждают), который с лихвой окупает все твои пробелы в CS.
>написал мне блять скрипт
Нагуглил, держи:
public async putValue(tableName: string, value: object) {
await this.getDB();
const tx = this.db.transaction(tableName, 'readwrite');
const store = tx.objectStore(tableName);
const result = await store.put(value);
return result;
}
Хороший раб. А теперь устройся на работу, и переводи 75% зарплаты мне в биток.
Залетуха плиз.
>Ты чо охуел сука? Быстро написал мне блять скрипт, пидор.
Уже этот пост был иронией.
Но тебе не хватило ума понять это, зато пукаешь тут что-то про комунити и взаимопомощь. Обтекай.
>Но тебе не хватило ума понять это
Так было задумано. Сейчас бы на троллей вестись, которых полтреда.
Только компонент придется в стейт засунуть.
Реакт хорош пожалуй только JSXом.
Ну и реактивностью да, я знаю что реакт не реактивный, но это сейчас в каждом фреймворке
Всё остальное и правда какая-то гора костылей и сектантских высеров.
Но реальность такова что каким говном бы реакт ни был, он де факто стандарт рыночка и типичный техлид встаёт перед выбором: Строить проект на подходящем стеке, не найти разработчиков и переписать всё через год на реакт, или играть по рынку и соазу писать на реакте с очередью на вакансии.
есть сайт визиткана чистом хтмл, залита на хостинг.
Вопрос. как мне прикрутить форму обращения дляотправки на сервер?
Придется перезаливать сайт целиком?
Javascript
Никто не выбирает фреймворки по вакансиям от вкатунов. Это так не работает, перестань шизофантазировать про свой срыночек.
Выбирают пол кол-ву абстракций, документации и поддержки со стороны разработчиков.
>>1973074
А если есть, то ты быдло ебаное. Понял?
https://rutracker.org/forum/viewtopic.php?t=5575119
Научись надевать презервативы ртом.
Да курс говно один хуй, комментарии почитай там
Знать ноду, реакт, редакс, мобх, графкл, аполло, тайпскрипт
99% вкатунов знают мало информации. Знай больше чем они и тебя возьмут(запили свой клон гугла в стандартном блокноте например).
Шизло уже вошло в режим защиты жопы, через каждые две минуты будет про инфоцыган визжать.
Ну не пиши npm install react и все.
Цель - получить поддержку ide (через jsdoc) при использовании ts-либ в легаси (браузерном) js-коде.
Гугл выдаёт только описания обратного процесса - создание d.ts для js-либ, с целью использования их в ts. Засрали весь интернет этой хуитой, ничего найти невозможно.
Ебать я охуел. С чего такая производительность, знает кто? Типо канвас рисует быстрее дома?
на канвасе вообще видеокарта может помогать иирк
дом в принципе не предназначен для динамического сложного рисования
https://figma.com/
А если упороться с wasm-ом то можно и графический редактор сделать, прикинь.
Есть че нить для неофитов, что бы тип вот значит реакт пропсы, это когда мы переменные из одной коробочки, передам во вложенную коробочку внутри и все в таком духе?
По JS полно таких курсов, а вот по реакту бы кто разжевал.
>написал туду лист
Как ты его написал, если не понял?
Алсо, глава с тудушкой еще ничего, вот спустя пару глав (папок) начинается пиздец.
Повторял за ним, в начале все понятно, под конец он уже такими субстанциями ворочает, что неофит в ахуе жи. он то понятно с опытом челик.
Ну как бы любое обновление страницы, и большие объемы 2d графона, уже сложное динамическое рисование для половины фреймворков, они аж пропукиваться жидким начинают по крайней мере на моих кейсах
>>1973207
Хмм. Что-то резко захотел упороться и написать хуйню под канвас, на каком-нибудь стейте, вроде xstate.
Какие вообще минималистичные фреймворки для канваси существуют? Ну кроме очевидных pixi и fabric. Своё нихачу писать.
Непонятна структура приложения как минимум. С чего начинать и чем заканчивать. Он прыгает от сложного и не правильного кода к простому и правильному коду.
И логика непонятна. Почему это прокидываюм сюды, а это вставляем туды. На уровне JS я понимаю как работает код, непонятная логика сборки всех элементов, он ее не объясняет, говорит ну вот тут вот так, а дальше вот так. И все. лол
блин вот я просто фигею
а как насчёт ну просто без задней мысли почитать официальный туториал?
не это для лузеров
После доки легче станет?
пиксельный редактор делают во вводной книжке в джаваскипт лол
https://eloquentjavascript.net/19_paint.html
Вот через пару глав будет такое ощущение. Там он постоянно РЕФАКТОРИТ РЕФАКТОРИТ РЕФАКТОРИТ БЛЯДЬ. Напишет такой код, а потом скажет "ну вот так не совсем правильно, лучше будет разделить код вот так...", и начнет хуярить в перемотке. Потом снова скажет "щас заебися, но мы можем упростить код еще вот так" и снова пошло-поехало. Потом скажет "но если использовать вот эту фичу, то надо все переписывать нахуй", и дальше снова в перемотке хуярит код. Дальше я перестаю что-то понимать. Я слышу его голос, но мозг перестает хвататься вниманием за слова, я просто в трансе уже нахуй
Ну так реакт вообще не предназначен, чтобы новички в программировании на нем сами писали, он предназначен чтобы они могли править чужое.
Реакт не навязывает никакой архитектуры, поэтому каждый на нем дрочит как хочет, и тебе лучше сначала поработать на любом полноценном фреймворке, чтобы хоть какое-то представление было куда воевать.
Молодец, сравнил хуй с пальцем, можешь взять с полки пирожок и пойти сравнить хтмл с вебгл-ом.
Ну да.
Короче лучше сделать как в шапке советуют - дрочить доку(пикрил), после курсик ойтикамасутры, а после уже можно и буру посмотреть. Но заместо буры уже лучше на работку устраиваться канешь.
>Непонятна структура приложения как минимум.
index.js - точка входа, в нем рендерится app.
В app.jsx рендерятся компоненты из ./components, например:
<div><ToDoList/>]</div>
В ToDoList в свою очередь рендерятся айтемы:
const [tasks, setTasks] = useState([LearnJS, LearnReact, LearnCss]);
useEffect()
<div>
{tasks}
</div>
Это все понятно когда приложение маленькое, когда оно разрасталось по ходу курса я уже стал путатться, че откуда и куда. Непривычно наверн такой компонетный подход с кучей импортов, на ванильном жс импортов не так много было.
Всё оказалось очень просто.
Собственно, я так и подозревал, что ломлюсь в открытую дверь.
Опция declaration: true в tsconfig.json или --declaration для tsc.
>я уже стал путатться, че откуда и куда.
А, ну тогда ты просто жопой смотрел + беды с башкой. Рекат тут не при чем.
Очень много долбоёбов в js-теме.
20-ти летние утырки любят называть себя fullstack software engineers и прочими громкими названиями.
Весь смысл их выступлений - "смотрите, как я умею".
А зачем, почему - это не важно.
Кстати, BLM-баннера у него там нет, случайно?
Хуйню несешь. Я в первом посте объяснил в чем проблема - курс не для новичков.
Он в швейцарии живет, там блм присутствует.
ndex.js - точка входа, в нем рендерится app.
app.jsx рендерятся роутер, стор, темы итп
Роутер состоит из pages, pages состоят из components, в сторе саги крутятся.
> у малолетнего сопли-вахтера младше 25 лет до сих пор жопа горит с критики его высеров
> по прежнему фантазирует про рыночек, теперь техлиды вакансии сидят мониторят
> по прежнему вахтёрит и отвечает через две минуты
Даю три минуты на ответный пук, приступай.
>Инфоцыгану неприятно от осознания что всем похуй на его мнение при выборе стека
> маааам пук среньк я решала ну скажи им что я решала авторитетный и меня слушают
на всякий случай даю наставление:
КУРСОËБЫ ВЫПИЛИТЕСЬ НАХУЙ ВКАТЫШЫ ЕБАНЫЕ ЗАСРАЛИ ВСЕ ИНТЕРНЕТЫ
Редакс это чистое функциональное программирование. Поэтому его сложно понять вкатышам, потому что хотя сам редакс в своей основе примитивный, он базируется на не совсем примитивных подходах и концепциях. По хорошому перед изученем редакса нужно понимать основы ФП - иммутабельность, композицию функций, чистые функции. Тогда и сама суть редакса становится очевидной. А залетыши начинают с "ну вот экшн диспатчится хуе мое редьюсер изменяет стейт", не понимая зачем вообще всё это нужно.
Хуже всего, что последние доки по редаксу и продвижение редакс тулкита заруинили ситуацию еще больше. Они делают вкат более "легким" с помощью хелперов, которые нарочно скрывают и ломают суть редакса - разделение экшнов и редьюсеров. Автор доков говорит что "этого достаточно для 90% приложений", только он забыл, что редакс не нужен в этих 90% приложений, если для них норма привязывать экшны к редьюсерам и хуярить всё в 1 файле.
Ну справедливости ради через реселект селектор мемоизированный получается.
Но да, бесполезность
че тебе там непонятно блять, там все разжевано уже, благодаря нему смог уверенно делать тестовые и понимать как делать красиво, а как нет
ну да подразумевается что ты уже знаешь жс, он даже про ес6 обьясняет со своими бест практис
тебе не обязательно все делать как он, просто пойми что до тебя хотят донести и вырабатывай свои бест практисы
Причина проста - отсутствие понимания и опыта работа с JS'ом. Реакт это по сути на 90% джаваскрипт, без его знания он будет выглядить как что-то магическое.
С другой стороны, реакт в последние полгода превращается в лапшу из хуков, так что охуевание с происходящего норма для экосистемы фреймворка.
>просто пойми что до тебя хотят донести
Просто пойми квантовую физику и возись со своими струнами, ну ты че сычев )).
алсо я имел в виду такой гайд - https://learn.javascript.ru/screencast/react - вот тут подробно про синтаксис react
> вам всем больно, неприятно!
> врёти вы все, никто не вправе решать фреймворки!
> а техлиды вакансии сидят мониторят на рыночке, чтобы узнать какой же фреймворк выбрать, они тоже решать не могут!
Ору с малолетней сопли-вахтёра. Давай еще что-нибудь пукни.
> мааам ну пачиму они не верят что я кабанчик решала. Я руковожу всем я решаю. Ну скажи им маааааааааам
>Реакт хорош пожалуй только JSXом.
Хуй ты угадал, чувак.
Реакт хорош тем, что это чистый JS (TS), ничем абсолютно незамутнённый.
И ровно этим же реакт и плох.
Такие дела.
А JSX - это просто сахар, который 1 в 1 (это важно) транслируется в JS, и он может быть везде. Например, в Vue он есть, там даже TSX есть.
Реакт - говно, но истина - дороже.
Для своего говносайтик конечно могут. Только причем тут профессионалы. Или у тебя инфоцыганишка травма от того что твой говнокруд на жиквири никому не нужен?
поддерживаю автора коммента на 50%, но всё равно побомблю пердачеллой
>Редакс
каждый второй коммент от зумера: хочу детей от дена абрамова
>на не совсем примитивных подходах и концепциях
библиотека которая делает почти ничего
>это чистое функциональное программирование
эти свич кейсы
> иммутабельность
бомбишь дефенсив копиинг в каждом редьюсере, а сам автор вообще предлагает измазывать всё локальными стэйтами для оптимизации
>композицию функций
>Редакс
чисто подобавлять хэндлеров сайд эффектов в миддлвеар
>чистые функции
>Редакс
вот тоже, сама по себе возможность сеттить стор - ничего особенного
>разделение экшнов и редьюсеров
Максимально ненужный паттерн. 98% кодеров не понимают зачем они это пишут
Случай из жизни: развесистое приложение, заходишь такой... а они там бомбят по 10 диспатчей на каждый чих. (Даже если отрефаторить, то паб-саб там всё равно будет не нужен)
> редакс не нужен в этих 90% приложений
он вообще не нужен, двачую
поддерживаю автора коммента на 50%, но всё равно побомблю пердачеллой
>Редакс
каждый второй коммент от зумера: хочу детей от дена абрамова
>на не совсем примитивных подходах и концепциях
библиотека которая делает почти ничего
>это чистое функциональное программирование
эти свич кейсы
> иммутабельность
бомбишь дефенсив копиинг в каждом редьюсере, а сам автор вообще предлагает измазывать всё локальными стэйтами для оптимизации
>композицию функций
>Редакс
чисто подобавлять хэндлеров сайд эффектов в миддлвеар
>чистые функции
>Редакс
вот тоже, сама по себе возможность сеттить стор - ничего особенного
>разделение экшнов и редьюсеров
Максимально ненужный паттерн. 98% кодеров не понимают зачем они это пишут
Случай из жизни: развесистое приложение, заходишь такой... а они там бомбят по 10 диспатчей на каждый чих. (Даже если отрефаторить, то паб-саб там всё равно будет не нужен)
> редакс не нужен в этих 90% приложений
он вообще не нужен, двачую
Профессионалы? Ты имеешь ввиду фейсбук, алибаба, ебей, гугл и другие крупные компании? Так они вообще свои собственные фреймворки (реакт, ракс, марко и т.д) написали, лол, твоя шизофазия про срыночек у тех самых профессианалов не в почёте.
Даже интересно как именно еще ты обосрешься и сманеврируешь.
А они не часть рыночка? И снова мы пришли к тому что на чем заставят на том и будешь писать. ЧТД
Так в том и дело что сахар вкусный.
Главная проблема всех шаблонизаторов в том что ты пока что-то напишешь все пальцы себе нахуй переломаешь. JSX наконец-то нормальный и достаточн опривычный синтаксис, а не ебанина уровня регэкспов.
https://codesandbox.io/s/condescending-oskar-1y90d?file=/src/index.ts
Там в комментариях все написано. Чет я никак не пойму, как правильно передать value, чтобы не крашилось.
Ну так ты макака, естественно ты ничего решать не можешь, только господина слушаться. Речь не о тебе.
Речь шла о том, что можно какой угодно выбрать фреймворк, можно вообще свой написать. Профессионалы так и делают - просто берут и пишут свой фреймворк.
И именно те самые инфоцыгане и кабачники выбирают для тебя реакт, а ты думаешь что это рыночек, и сидишь изучаешь свой среакт, лол.
Уже написал свой фреймворк инфоцыган? Внедрил в Яндекс? Боже какой потешный клоун. Думает что писать на говне и палках хеллоу Уорлд и коммерческое программирование одно и то же
на одной страничке один проект на другой второй
>библиотека которая делает почти ничего
В том то и дело, что библиотека по сути просто организовывает фп стейт менеджмент, не более.
>эти свитч кейсы
И что? Свитч кейсы чисты. К тому же, никто не мешает организовать тебе редьюсеры как угодно, в редаксе нет контракта что у тебя обязательно свитч кейс должен быть. Просто так удобней всего и быстрее всего.
>чисто подобавлять хэндлеров сайд эффектов в миддлвеар
Так сайд эффекты контролируемы в таком случае, в этом и суть фп. Изменения стейта чистое, сайд эффекты изолируются.
>Максимально ненужный паттерн. 98% кодеров не понимают зачем они это пишут
Тут сыглы, я поэтому и говорю что редакс, хоть и красивый подход к управлению стейтом, нужен для больших проектов, где действительно важно разделить экшн от изменения стейта и где 1 экшн может менять стейт в многих редьюсерах.
По страничке на репозиторий, нет? Бери react-router-dom и хуячь все проекты на одной, если хочешь.
Кстати, получил наконец-то свои named exports из css modules в вебпаке. Оказывается блять style-loader тоже имеет опцию modules.namedExport и её нужно также поставить как и в css-loader'e, и об этом нихуя нигде не сказано, кроме самой доки по style-loader. Ну сука блять какого хуя.
Используем на работе самописный компонентный фреймворк, я один из его кор создателей, другая команда использует реакт и имеет больше багов и более сложные релизы чем мы. Где твой бог теперь?
ну да одну страничку для каждого репо можно как-то сделать?
У меня есть хостинг сторонний оплаченный, но хочется что бы каждый репик на гите открывался.
Че такое роутер-дом не ебу, пока не дошел до этого еще.
Рад за твоё ООО Рога и копыта. Глядишь и дорастешь до нормальной компании где у разработчиков багов меньше чем на костылях макак
[
{name:"Абу", age:30, gender:"Пидорас"},
{name:"Виталик", age:25, gender:"Девочка"},
{name:"Мочух", age:20, gender:"Гной"}
]
Как удалить из него нужный объект чтобы не образавалось пустот в списке ключей массива? Я так понял с помощью splice(), но сперва нужно определить ключ нужного объекта, в простом массиве это можно сделать с помощью indexOf(), а как это сделать в таком массиве с объектами? Только с помощью findIndex()? Просто findIndex() поддерживается только браузерами с 2015 года, а хотелось бы перестраховаться и с говном мамонта, наведите на путь истинный
>ну да одну страничку для каждого репо можно как-то сделать?
Так оно так и есть, хуле ты ещё хочешь
> А JSX - это просто сахар, который 1 в 1 (это важно) транслируется в JS
1. Почему это важно?
2. Разве не в html в том числе?
Мимо. Работаю в крупной компании, около 5к человек и большие офисы по всему миру.
Просто специфика такая, работаем с канвасом. А там ререндер на каждый пук реакта доставляет кучу проблем
Зачем мне городить код всякими бабалами, если вдруг есть какой-то старый метод который тоже сможет, а не корпоративный задрот ебаный, мне просто для плюшек на своём сайте для скрипта надо
Всмысле? Гитхаб дает одну страничку на весь аккаунт твой, а какой проект туда залить сам выбираешь. Братан, нет такого что ты написал
[{abu:20}].splice - вырезаешь че нужно
const before = slice [0,id]
const after = slice [id]
const new array [...before,...after] // заливаешь в новый масик то что до вырезки и то что после
зачем свой? какие задачи решает и чем лучше/худше чем существующие популярные решения?
Это важно потому, что иначе утверждение о том, что реакт - это чистый js (ts) было бы неверным.
>Разве не в html в том числе?
Нет.
HTML генерится через JS, в рантайме.
И это _не_ шаблон, ни в коем разе.
В этом и смысл.
И это именно то, чего не осознают (или о чём не задумываются) многие ньюфаги.
JSX - это такая форма записи js-кода. Отсюда и ограничения на имена атрибутов, отсюда формы записи типа style: {{backgroundColor: 'blue'}} и т.п. Это всё просто конструкции js.
Почитай "using React without JSX" для понятности.
Хотите шаблонов - используйте Vue. Как я.
И, как я уже сказал, использовать JSX|TSX там тоже можно.
Или ангуляр, если хочется странного.
Лайк за рамду. Кстати, можно еще проще
const rejectByName = name => R.reject(R.propEq("name", name));
const rejectVitalik = rejecyByName("Виталик");
rejectVitalik(array); // Массив без Виталика
Ты случайно в /gd/ не сидишь, а то приходил там один с рамбдой, что все охуели.
Рамда сейчас вроде самая популярная утилити библиотека, многие типичные операции (как пример выше с удалением элемента с массива) легко делаются
>очередной залетыш думает что оптимизации операций над массивами что-то решают до десятков тысяч элементов
И да, кто-то может сказать - "но, там же теги, значит - это шаблон, а на детали реализации - похуй".
Но - нет. Это не шаблон.
Это - исполняемый код, возвращающий значение.
И делать с ним можно всё, что ты делаешь с обычным JS кодом и значениями - возвращать из функций, записывать результат в переменную или массив, и т.п.
Шаблон же - это именно шаблон. Он не исполняется, он - рендерится. Т.е. программа берёт шаблон, и подставляет в него вычисленные (где-то ранее) значения. И всё.
Я понимаю, но душа всё равно болит, хочется минимально затратный метод, для людей жеж
Нормальные ребята используют то, что им подходит в данном конкретном случае.
Хоть Vue + TS + TSX + jQuery + jQuery UI.
Совершенно нормальное сочетание, кстати.
Да? Ну значит реально ебись с SPA, где у тебя через react-router-dom (или другую ебалу) все странички на одной.
Сделай обычную функцию линейного поиска - просто перебор массива, а потом - splice. Там делать нехуй же. Давно бы уже решил свою задачу за то время, что тут пишешь.
Когда ты станешь постарше, то поймёшь, что под- хвостовые ветры приходят и уходят, а вечные ценности остаются.
Абсолютно все крупные компании сделали свои фреймворки. Фейсбук, гугл, ебай, алибаба. Даже в конторках размером поменьше, вроде сбербанка и яндекса, свои собственные фреймворки. Это, блядь, не коммерческое программирование что ли?
Мне кажется проблема у тебя такая же как у всех срыночков - вместо эмпирических фактов ты фантазируешь про какую-то дикую хуйню, которая к реальности никак не относится. Ну и перманентные истерики, когда тебе прямо на факты указывают.
да, старшие всегда ищут отмазки тому что они угасают, особенно ментально и не могут в новое и современное
Всё таки предлагаешь ебаться с циклами? Просто совесть говорит что это слишком нагло будет так ебать систему пользователя
Джаваскрипт почти никогда не является причиной "ебли" пользователя, DOM апдейты и нетворк - да. Ты можешь хоть 10 циклов написать, ничего не изменится пока у тебя не тысячи элементов в массивах.
просто вкатыши ни разу не писали коммерческих приложений долгостроев, где поддерживаемость и выразительность кода в 10 раз важнее наносекунд перфоманса
Достоверно тебе никто не ответит потому что современные движки браузеров делают очень много чёрной магии под капотом.
И типовой код типа перебора элементов наверняка какой-нибудь эвристикой пережёвывается во что-то максимально простое, причём в каждом движке по-разному.
Теоретически циклы всегда лучше функциональных итераций потому что стек не растёт, не создаются новые объекты в куче и лексически контексты.
Ну и да, не думай вообще об этом, твои типичные задачи никак не пересекаются с теми где вообще нужно о производительности думать.
Промисы и запросы параллель – вот и всё что тебя надо ускорять.
Преждевременна эякуляция оптимизация - корень всех зол.
Так учит нас классик и гуру, Эджгер Дейкстра.
У него много интересных афоризмов - погугли.
JS (именно JS, не DOM) работает очень, очень быстро.
Возьми, вставь в страничку цикл тысяч на 10 повторений (какие-нибудь присваивания внутри или пердолинг массива), и посмотри, заметишь ли ты изменения в скорости загрузки. Посмотри, с какого числа повторений ты их заметишь. Ты будешь очень удивлён.
На 8 ядрах я конечно не замечу, но какой нибудь васян на сяоми 1991 года будет меня проклянать при каждой загрузке страницы
Значит, такова его судьба.
Важно понимать, что в какой-нибудь чудесной библиотеке типа Lodash внутри будут те же самые циклы. Там код сделан более универсальным, удобным в использовании и т.п. Но, не более быстрым.
Ещё раз инфоцыган, это все не часть рыночка с готовыми решениями под которые подстраиваешься? Надо же инфоцыган пришел к тем же выводам
Чувак, извини, что вмешиваюсь, но - какой смысл ты вкладываешь в слово "инфоцыган"?
Что-то подсказывает мне, что понимаешь ты его как-то не так.
Адепт псевдопсихологии и лёгкой мотивации для дурачков с мантрами о том что каждый человек уникален и прочей пропаганды личностного роста и поверхностных знаний
То, что ты описываешь - это просто недалёкий человек.
А "инфоцыган" - это тот, кто зарабатывает, впаривая лохам курсы программирования, например. И прочие подобные вещи.
Сознательно обманывает с целью получить выгоду.
Смысл метафоры - (настоящие) цыгане разводят лохов "гаданием" и т.п.
>зарабатывает, впаривая лохам
>Сознательно обманывает с целью получить выгоду.
Хорошие люди то есть.
Ты кукарекал что все подстраиваются под какие-то там фреймворки рыночные, никакого выбора нет, что так делают "профессионалы", подстраиваются.
Какие профессионалы подстраивается, если в каждой компании с профессионалами свой собственный js фреймворк написан, долбоебина?
>>1973684
> вы не можете выбрать фреймворк
> написать вы тоже ничего не можете
> можете только подстраиваться
> а если вы думаете что можете, вы инфоцыганен, врёти, вы плохие, это личностный рост уже нельзя!
Пиздец ты поехавший куколд, срыньк.
Лучше не искать объект в массиве. Надо или хэшмап, или хотя бы бинарный поиск, но это требует сортированный массив.
> кукарекать поехавший куколд врёти
Когда-то слово было хорошее, луркоёбство. А это двачеёбство или как назвать?
Введение это если ты совсем ничего не знаешь, тебя за ручку как в шкалке ведут и показывают всё в нужном порядке. Документация это когда ты уже основы знаешь и знаешь как и где найти то что тебе в данный момент нужно.
Наоборот горбатого исправили. В 2007 нужно было писать настолько много кода, что $ из жквери казался прорывом.
Но ведь всё так.
Ты отрицаешь саму возможность выбора js фреймворка, никто не должен выбирать, потому что рыночек, мол, вот за меня выбрали господа, и вы так делайте, нельзя выбирать фреймворки, нельзя писать своё, нельзя иначе.
Если это не ментальное отклонение в сторону ультрокаколдства, то что это?
Это экономия времени. Никого не волнует на каком фреймворке оно сделано, пока оно работает и не выделяется какими-то артефактами и тормозами. Лучше выбрать то, для чего уже есть много готового и под что легко найти гребцов. Если уж ты топишь за смену языка или фреймворка, придётся обосновать. Если ты сам начинаешь проект, можешь хоть на хаскеле его начать, тебе никто не запретит.
В целом да, но это всё справедливо для говнобиза, который лишнюю копейку на гребцах экономит.
В больших и качественных конторках дрочат тесты всякие и с фреймворков и языков переезжают. С жс на типоскрипт, с реакта на свелте и свои фреймворки, прочую дрянь делают. Целыми днями. Впрочем итог у этого всегда один - разочарование ведь жс и жс-фреймворки это просто ультродрисня, а скооперироваться в суперинженера и сделать нормальный фреймворк никто не осилил
все это нахуй не нужно
доказано vuex и mobx, которые не используют аутизм с иммутабельностью
Ничем. С wsl2 вообще все красиво и приятно. Вообще, хорошо что жиробаса Баллмера сменил индус Наделла. Винда за последние года 4 очень радует.
Лишнюю копейку экономят везде, но разными способами и с разной мотивацией. В мелких конторах важно наличие гребцов. В больших конторах важна экономия на серверах, безопасность, батарейка пользователя и время отклика. Некоторым важно чтобы их зонды, кнопки, виджеты и баннеры хорошо встраивались на сайты партнёров. Всяким энтузиастам типа тебя важно чтобы было технически красиво. Ну хули, если тебе есть что сказать миру жс фреймворков, скажи, заебашь свой ультрасуперфрейморк-каких-ещё-не-было.
Спасибо
> Ряяяя вы я решала я не подстраиваюсь под рынок
> в каждой компании свой фреймворк под который я подстраиваюсь
Ахахахахахахахахахахахаха сказочный инфоцыган долбоеб противоречащий сам себе
Или достаточно index.html в основу кинуть?
Поясни.
Подскажите, как более корректно делать выпадающие списки: с помощью CSS (через чекбокс) или с помощью JS (через дом)? Не удалось ничего нагуглить по этому вопросу, но как будто бы когда-то слышал, что один из вариантов по какой-то причине предпочтительнее.
пробуй и так и так
Спасибо, как раз была трабла с забытым хидденом. Но вопрос не об этом: не может ли, например, быть так, что один из вариантов лучше воспринимается алгоритмами поисковиков (лучше в том смысле, что получает более высокий приоритет в поисковой выдаче), чем другой?
Сам подумай, будет ли поисковик ждать, пока твоё реактоговно прогрузится или нет?
В wsl.
пардон, трэдом ошибся
Я заебался всякий раз писать одно и тоже говно
Блять.
> Лишнюю копейку экономят везде, но разными способами и с разной мотивацией. В мелких конторах важно наличие гребцов. В больших конторах важна экономия на серверах, безопасность, батарейка пользователя и время отклика. Некоторым важно чтобы их зонды, кнопки, виджеты и баннеры хорошо встраивались на сайты партнёров.
Об этом и речь.
Основываясь на гребцах и каком-то манярыночке никто не выбирает, кроме совсем донных конторок вроде ООО "Рога и Зеленые шляпы". Есть технические требования и выбирают на основе соответствия этим требованиям. Или не выбирают и пишут своё.
> чтобы было технически красиво
Вообще производительность и батарейка. Но как я понял, с современным dom это технически невозможно. Нужны какие-то реализации многопоточных буферов для vdom, стейта и прочего такого, с которыми бы и взаимодействовал уже скриптовый движок.
>>1973933
> истеричный каколд опять манямечтает про подстраивание
Ладно-ладно, успокойся уже.
> РЯЯЯЯЯ я ни под кого не подстраиваюсь у каждой компании свой фреймворк
> Свой фреймворк под который ты подстраиваешься
> РЯЯЯЯЯ пук среньк ты куколд
кек
> нельзя же выбирать фреймворк, вы всегда должны выбирать реакт и подстраиваться под рыночек
@
> ладно, можно выбрать фреймворк, но это всё равно подстраивание
@
> ладно, можно написать свой фреймворк, но это всё равно подстраивание!1
Ох уж это каколдское подстраивание
Ну знаешь ли, на рогах и копытах тоже можно делать деньги. У тебя более системно-движковые-байтоёбные интересы, а у других на коленке за час сложить ананас с карандашом и посмотреть как отреагирует рыночек. Фокус в том что каждому из них по отдельности плохо, одни хуйцы с гречкой доедают без работы, а у вторых нужный всем продукт говно баговано-тормозящее. Вместе авось что-то и родят.
> Изначально писал, под что скажут под то и будешь писать
> РЯЯЯЯЯ пук срень я решала авторитетный буду писать под что скажут а это в каждой компании свое
Комплекс отрацания инфоцыгана, кек
Google://isometric engine source
Там сетка уровня
X X X X X X X X
Y
Y
Y
Y
Y
Строка считается по X, ряды по Y.
Всего клеток = X*Y.
Считай на каком месте в строке находится X и на каком ряду по счету стоит Y и минусуй эту цийру из общего колличества квадратов.
ой нет, это же не pointfree
> Ну знаешь ли, на рогах и копытах тоже можно делать деньги.
Как можно сделать деньги в конторке в которой нихуя не платят и экономят?
> а у вторых нужный всем продукт говно баговано-тормозящее.
Так не бывает, это манямечты срыночков. Почти любой нужный продукт пердолят на чистом js и выдумывают свои фреймворки. Потому что могут себе позволить, не нищие донные конторки.
>>1974216
> а вот если ты пишешь свой фреймворк, то это тоже подстраивание!
Ясно, каколд.
> ряяяя я пишу свои фреймворки в компаниях международных.
> пруфы?
> не будет пук среньк
Лол, инфоцыганская классика. А я директор Яндекса
Для начала проще вывести формулу из координат ромбов в координаты экрана. Ноль ромбовых координат пусть будет по центру экрана, X уходит вправо вверх, Y влево вверх. Экранные координаты так же от центра, умножишь для сплющивания и растягивания сам.
screenX = rhombX - rhombY
screenY = rhombX + rhombY
Затем обращаем эту функцию чтобы находить координаты ромбов по позиции на экране.
rhombX = screenX + rhombY
screenY = (screenX + rhombY) + rhombY
rhombY = (screenY - screenX) / 2
rhombX = screenX + (screenY - screenX) / 2 = (screenX + screenY) / 2
Школьная, мать её, алгебра. Тестируем. Для нуля нули, всё как надо.
screen=1,0: rhomb=0.5,-0.5, вправо по экрану это вправо и вниз по ромбам
screen=0,1: rhomb=0.5,0.5, вверх по экрану и это вправо и вверх по ромбам, тоже ок
С тебя нихуя :(
Проиграл с каколда. Он даже не верит что можно писать что-то без подстраивания, лол
Кек. Ну да, кубернетес говно потому что гуглу дорого перевести себя с борга на кубернетес. Почти любой известный нужный продукт уже имеет приличную историю, и создавался когда этих ваших фреймворков ещё не было.
Вообще я конечно дебил, можно было сразу представить куда пойдут координаты, без переворачивания формулы. Сонный уже.
Ну вот так же как у тебя, вне функции нужен какой-то признак что вычисление уже пошло. Возвращай новые вручную созданные промисы, накапливай их во внешней переменной, а потом когда запрос отработал, резко все разреши результатом.
В хуке useEffect выполняется проверка, при каждом обновлении массива с элементами. Если массив пустой, то blankElement = <span>Empty</span>, иначе null
В рендере:
{blankElement ?? items}
Но это не работает. Как это правильно делается?
Вряд-ли. Редакс - js библиотека. Но ее логика подчиняется всем законам функционального программирования. Можно и сэмулировать ее или самому написать свой редакс на нужном языке. Другой вопрос нужно ли это на 1с. Тут не берусь отвечать
Работает как часы. Но не говнокод ли? Как можно это улучшить?
Все хуево?
>и я уже перестал понимать че происходит
Повторение - мать учения. Только не надо подряд, иди в игру поиграй\сериал посмотри.
> иди в игру поиграй\сериал посмотри.
Совет уровня /b/, я если сел учить то учу до конца. Прост интересно насколько я даун если вроде самую легкую вводну до конца не осилил.
Пошел читать доку.
>я если сел учить то учу до конца
От этого не будет толку. На биологическом уровне мозг работает по-другому. Тебе надо отдохнуть, чтобы систематизировать знания.
Собственно, дело твое. Лично у меня если где-то затуп, и кажется что что-то нереально сложное, до чего я никогда не додумаюсь, то мне помогает отвлечься на что-нибудь, и неожиданно для себя, я "автоматом" нахожу решение.
Ну так разбирай по частям чё там происходит)) Это самый-самый момент продуктивности и обучения, его не надо заменять дополнительными часами пыток чтением.
Чел, я сначала учил верстку, потом JS, щас React.
Уж я то знаю от чего будет толк. В целом меня хзватает на три дня продуктивной работы, потом беру день отдыха, что бы мозг не кипел.
У всех по разному канешь.
>Чел, я сначала учил верстку, потом JS, щас React.
>Уж я то знаю от чего будет толк.
Нихуя себе, да ты, оказывается, сеньор!
Что там тебе непонятно? Реакт простой. Ладно там в редаксе запнуться, он чутка запутывающий. Представляю что с тобой будет когда до редакса доберешься.
так сервер-нода,а не пхп
Синтаксис понимаю, когда начинается возня с пропсами - туплю. Тут мы стейт не трогаем, тут стейт копируем в новый массив что бы иммутабельный стейт был. Нехватает понимания и практики в этих моментах.
Наверно соглы. Просто жопа горит, хочется побыстрее, въебал 4 чашки кофе и читаю супер быстро что бы супер быстро впитывать, у меня так с JS было - тупо брал колличеством информации, если где то че то не понимал, потом читал еще книги и еще и в итоге доходило.
Срякт вот пытаюсь тоже супер быстро понять, но попадаются моменты где нихуя не понятно, и вроде хочется пропустить и читать дальше, что бы брать тоже колличеством информации, но так не получается тут, потому что дальше еще непонятнее, и приходится ковыряться долго на одном моменте. А когда ты под кофе и тебе горит побыстрее все выучить, ковыряться не хочется, хочется быстрее и быстрее впитывать как можно больше инфы.
Такой вот катарсис, анончики.
Хз, без конкретных примеров тяжело говорить. Если ты не пользуешься ещё Стейт менеджером то либо через setState меняешь стейт либо через useState. Обе функции иммутабельны. Там ещё правда контекст есть но я им не пользуюсь в виду редакса так что не подскажу
А как ты реакт учил? Мож книги какие пиздаты есть?
Понимаю что книги по реакты устаревают быстрее чем успевают выйти.
Вот сайт какой-то нашел, лол. Че скажете за него?
А не, эт хуйня, копия доки реактовской на левом домене.
Нет никакого рецепта "выучить реакт за 5 минут".
Мне вот кантор супер тяжело давался. Я дважды дропал. Последний раз дочитал до середины, дропнул и пошел разбираться со всяким говном. Где-то через пару месяцев почувствовал, что НУЖНА БАЗА. Начал читать и охуел от того, что все понимаю с полуслова, что на самом-то деле все пиздато и охуенно, кроме совершенно невыносимо дебильных упражнений, уровня "чтобы нарисовать палочку, нужно написать Джоконду, поверх нее Рождение Венеры и стирать все до тех пор, пока не останется ровная палочка.
В целом, это касается не только программирования, но и других вещей, все понимается гораздо лучше, если ты знаешь куда это применить на практике, чисто абстрактную хуйню изучать куда сложнее.
>чисто абстрактную хуйню изучать куда сложнее.
Двачую, это как пытаться выучить математику по учебнику алгебры не решая примеров. Ебнешься только и не выучишь. Если ты не Илон маск.
Когда я учил реакт он был сложнее. Там где нужен стейт писали на классах. И были всякие анальные компоненты жизненного цикла которые устаревали быстрее чем ты учил их. Ещё и названия все похожие были чем весьма запутывали. Все эти conponentDidMount, componentWillMount, componentWillUnmount. Особенно запутывал componentDidUpdate. Потом завезли хуки и все перешли на функции и стало полегче. Потом хуки и в редакс завезли и количество назойливого кода уменьшили. В общем дышать полегче стало. Но при этом в больших проектах все равно приходится лезть и разбираться в старые классовые компоненты.
Мне приходилось много практиковаться. И задавать вопросов в том числе тут. А уж как тебя редакс запутает. Я аж стал писать логику редакса без самого редакса чтоб понять его. То есть как он под капотом работает. Ты конечно можешь забить йух на это и просто подставлять значения но Редакс очень сильно запутывает и там надо много практиковаться чтоб понять что-то. Советую канал clever programmer. Там пакистанец или индус, хз, на хорошем английском без акцента помогает приложения писать со всеми современными практиками. Но туда стоит заходить чисто за практикой когда уже знаешь реакт, реакт роутер, контекст и редакс.
>Когда я учил реакт он был сложнее. Там где нужен стейт писали на классах. И были всякие анальные компоненты жизненного цикла которые устаревали быстрее чем ты учил их. Ещё и названия все похожие были чем весьма запутывали. Все эти conponentDidMount, componentWillMount, componentWillUnmount. Особенно запутывал componentDidUpdate. Потом завезли хуки и все перешли на функции и стало полегче. Потом хуки и в редакс завезли и количество назойливого кода уменьшили. В общем дышать полегче стало. Но при этом в больших проектах все равно приходится лезть и разбираться в старые классовые компоненты.
Да, вот только то, что в классовом компоненте занимает 10 строк, в функциональном... еще и варнингов тебе полный рот напихает.
В system32, очевидно.
Классы сильно запутывают да. Как машины так и людей о чем в доке реакта пишут. Можешь прям сильно не заострять на них внимание, просто пройтись по ним чтоб понимать что происходит. Все равно дел с ними иметь придется поменьше чем с функциями. У меня на проекте иногда приходится лезть в старые компоненты с классами и там туплю чутка и гуглю но в целом справляюсь.
Ало, чел я не он. Для меня классы - давно пройденный этап. Я тебе говорю о том, что классы пизже ебаных функций с хуками. Я постоянно натыкаюсь на реализации всякого говна через классы, и тут же апдейт через функции с хуками. И в 90% случаев там где функции там лапшевидный говнокод.
Хз. У меня наоборот. Не испытываю с функциями никаких проблем. Но правда у меня и база сильная в ФП. Хотя коллегам большинству тоже функции больше заходят.
> и создавался когда этих ваших фреймворков ещё не было
Не, просто они нинужны для тех самых нужных продуктов. Отдел безопасности всегда будет на стороне самописного говна, нежели на стороне каких-то там библиотек. Ну а донные среакт-конторки никогда продукта и не сделают.
>>1974296
> > Я пишу на чем говорят
Конечно пишешь, ты же вечный ментальный макака-каколд, права выбора у тебя нет и не будет.
https://anyforsoft.com/blog/10-famous-websites-built-react-js/
10 донных никому не нужных среакт-конторок, которых ждёт только забвение и погибель. Хватит, блядь, экстраполировать свой хуёвый опыт с жадным кабанчиком на всех
Речь шла про продукт который основан на фреймворках же. В твоём списке таких продуктов нет. а макакой не работал вообще, прост слышал охуительные истории
хз, я репортнул, скоро их почистят
Плагин для html у меня есть и не один, но они не фурычат в скриптовых файлах.
Ну так это делается аякс запросами же, они везде одинаковые, да? Я не про то, чтоб она прям вообще не перезагружалась. Просто хочу добавлять там всякие штуки чтоб страница не перезагружалась при каждом пуке. Ну типа какая-нибудь форма на несколько этапов.
Для какого бэкенда, на чем? В целом, самым простым способом будет подрубить что-то вроде turbo/stimulus, которые по сути просто перехватывают клики на ссылки/сабмиты форм, фетчат html с сервера и вставляют его на страницу без перезагрузки. На сервере будешь просто рендерить свою html хуйню как и рендерил, а на фронте получишь что и хотел.
Обычного жс хватит с жиквой, но жиква мертв, с ним прост удобно с проектами в стол баловаться.
Ну там просто как-то неудобно мне кажется, хз. Я тупо пишу всё в один файл и на каждую кнопку вешаю хендлер и описываю каждый раз аякс запрос. А если надо верстку какую вставить, то пишу просто типа .append('дохуя хтмл') и потом неудобно что-то менять там. Вообще получается, что я типа дублирую код на сервере и в жсе.
И я как-то чувствую, что наверное что-то получше придумали.
>>1974766
Ну Джанго изучаю. Ну думаю надо рест фреймворк тоже освоить, чтоб лучше делать такие сайты.
Реакт ты будешь осваивать в десять раз дольше, чем джангу, хотя бы потому, что в реакте инфраструктуры нихуя нет, и придется на любой чих городить такие костыли, что твоим append(html) и не снилось. Если ты не готов полностью переключиться на реакт, сделать его своей основной целью изучения и искать работу именно на нем, то даже не думай. "Чуть-чуть на стороне поучу и буду простенький фронт делать в довесок к своему бэку" - это не про реакт вообще никак.
Для начала вынеси свой жаваскрипт в отдельную директорию-проект с package.json и бабелем, разбей его на файлы, используй импорты, собирай вебпаком, интегрируй это все с джангой - это уже на месяц можно в ковыряние уйти, о реакте даже не заикаясь. Гугли что-то вроде "django with webpack" и вперед.
Хм, а зачем он нужен тогда? Мне показалось, что типа удобно, на компонентики все разбивается, в каждом свои функции там, которые че-то делают с этим компонентом. Ну это я так, пару видосов глянул. Конечно все говорят, что его учить надо пиздос, поэтому наерняка там че-то сложнее, лел. Я и жс-то знаю говено.
Prettier
>Хм, а зачем он нужен тогда?
Вопрос уровня "зачем нужен джанго, если можно три строчки на экспрессе написать".
>Мне показалось, что типа удобно
Реакт удобный и охуенный, но это никак не отменяет того факта, что инфраструктуры у него нет и что учить и практиковаться нужно дохуя, прежде чем начнешь писать что-то вменяемое. В отличие от инфраструктуры тех джанго/рельс/симфони, где все пахано-перепахано и ты можешь себе поставить выдроченную популярную библиотеку на любой пук, чуть-чуть ее настроить и она будет узнаваема и поддерживаема 99% программистов в этой области, в реакте(да и в жсе в целом) полнейший зоопарк, и даже базовые вещи в отдельно взятом проекте могут быть сделаны через такую выкрученную жопу, что разбираться придется неделю.
>Есть реакт роутер, есть стейт менеджеры
Примерно как говорить, что в рельсах есть роутинг и ORM для базы. Это настолько элементарные вещи, что если бы их не было, то встал бы вопрос, что подобная залупа вообще делает на рынке, потому что без них ты на фронте даже пернуть не сможешь.
>ant-design и material-ui
Ебанутейшее bloatware, которое костылять в некоторых случаях дольше, чем написать свой костыль с нуля, и костыль будет весить в 15 раз меньше.
>devtools
Ахуеть, может еще и дебагер с линтером есть?
>зачем нужен джанго, если можно три строчки на экспрессе написать
Я вот и не знаю, если честно. Поэтому так и вкатываюсь медленно. Все время думаю, что нахуя я все это делаю, когда есть какие-нибудь конструкторы для сайтов. Я же просто данные из бд достаю и вставляю, наверняка кто-то придумал что-нибудь чтоб для этого вообще кодить не нужно было.
Так какой инфраструктуры нету? Что ты под инфраструктурой подразумеваешь? Чего именно тебе в реакте не хватает?
Неймд роутинг(нет вообще, жсеры лепят по всему проекту сырые пути в ссылки и редиректы как в 2009 году), работа с формами(кое-как из всего говна можно использовать react-hook-form, но это огрызок, требующий жесткого допиливания напильником), api клиент(на выбор предлагается react-query монстр или говняный axios, который хуже даже дефолтного феча). Это самая база, которая первая пришла в голову. Функциональные компоненты даже упоминать смысла нет, там либо пишешь 100% с нуля, либо тащишь монстра уровня material-ui и иже с ним.
В любых проектах хватало react-router либо встроенного роутера в next.js. Для форм react-hook-form тоже более чем достаточно, не знаю что ты там допиливать собрался. Для api axios раньше юзал, сейчас react-query отлично заходит. Пару килобайт жалко? Ну тогда вообще пили всё своё с нуля. Функциональные компоненты после классовых намного лучше ощущаются. При чём тут materual-ui — не понятно, в любых серьезных проектах всегда делается собственная библиотека UI компонентов, к функциональным реакт компонентам это вообще никак не относится. Короче, всё твои придирки — цепляние на пустом месте.
>В любых проектах хватало react-router либо встроенного роутера в next.js
А в 2009 хватало sql-запроса прямо в вьюхе, сказать что хотел?
>Пару килобайт жалко?
Мне жалко не пару килобайт(50), мне жалко завязывать эссенциальную логику приложения на раздутого монстра, в который напихали всего, чего только в голову пришло и под конец еще прибили это гвоздями к реакту, вместо того, чтобы сделать нормальный модульный API клиент, который от окружения не зависит.
>в любых серьезных проектах всегда делается собственная библиотека UI компонентов
В любых серьезных реакт-проектах делается все собственное на 99%, это и есть мой аргумент - в реакте инфраструктуры нет, ку-ку.
Собственное делают только UI. Стейт менеджер берут готовый, роутер готовый, либы для работы с апи готовые, для форм тоже берут готовое. Ты видимо не делал крупных проектов на реакте и похоже у тебя фиксация на ангуляре где всё из коробки. Ну круто, внешние либы прикрутил к рендереру вьюхи и назвал это инфраструктурой, удобная манипуляция.
vue
не слушай реактопетухов, vue лучше подойдёт для твоей цели, он лучше скейлится вниз при одинаковой функциональности, плюс он проще да и вообще получше
а вообще реквест можно чистым джс отправлять, fetch апи
Чем он лучше? Я работаю три года и всё это время пишу и на реакте, и на вью. Так и не увидел, чем вью лучше.
функциональное программирование туда прикрутили как сбоку бантик
флакс архитектура, т.е. однонаправленный поток данных, не требует функциональщины
да много чем
в его случае например тем что его куда удобнее использовать по минимуму
а так например стейт менеджмент удобнее, темплейты удобнее, особенно для условного отображения, мемоизация по умолчанию и все такое
Два чая этому аналитику.
Есть у человека мнение отличается от твоего, от он пиздит? Ты не очень умный, бро.
>>1974864
> стейт менеджмент
То же самое, что и с редаксом, только объект стейта мутировать можно. А в остальном тот же самый бойлерплейт с геттерами, экшенами и мутациями.
> темплейты удобнее
Субъективщина. В JSX можно всё то же самое, только можно полноценно js писать и выглядит субъективо лучше.
> мемоизация по умолчанию
В мобиксе тоже по умолчанию.
>Vue
>То же самое, что и с редаксом
Я же говорю - пиздишь.
Ну, либо дремучий дурак - смотришь в книгу - видишь фигу.
Это ты дебич, видимо, и не понимаешь о чём тебе пишут. А пишут тебе про vuex, что он ничем не лучше редакса, там такое количество бойлерплейта.
1 выведет 15 раз число 15
2 выведет числа от 0 до 14
чому так?
Замыкание.
Интерпритатор видит разное обьявление переменных и на каждой итерации использует разную лексическую область видимости
В первом случае глобальная во втором блочная.
Асинхронные функции в стеке вызовов выполняются последними, после полной очистки стека от синхронного вызова.
Ты про redux-toolkit? Без него есть бойлерплейт. А ещё мемоизацию нужно вручную прикуривать к редаксу.
спасибо
С хуками по минимуму ебли. Не как раньше с mapDispatchToProps, mapStateToProps. Даже редусеры с экшнами перестали в разных файлах держать
>говнофронт
Главное не ведись и не гугли spa, реактобляди и вьюпетухи тебе в голову насерют будь здоров. Вкатывацся сразу в pwa. Еще раз забудь о spa, из этого говна лишь инфоцигане последние капли из гречневых выжимают
На среакте бабосы хоть платят(((
Ты чё несёшь? Нанюхался своего pwa блять. Где это говно сейчас? Нигде его нет! Безполезнейшая мертворожденная хуита, которая нигде не прижилась, только в мозгах у долбоящеров навроде тебя.
Не ну pwa нужно, если у тебя спотифай какой нить. Что бы интерфейс одинаково работал и в мобилке и в браузере.
Если у тебя сайт с контентом то это канешь лучше spa.
Везде использовать pwa это бред
>Обсёрвабл переменная - это переменная которая некстит всех обсерверов об изменении своего значения.
Ты думаешь для носителя английского оригинальный текст менее комично выглядит?
var items = [
{id: 5, name: "Миша", age: 23},
{id: 10, name: "Вася", age: 44},
{id: 15, name: "Саша", age: 2},
{id: 20, name: "Рома", age: 99},
{id: 25, name: "Ашот", age: 19}
];
Есть кнопка которая активирует цикл, который ищет есть такой объект в массиве или нет по его id, если есть - то удаляет его с помощью splice(), если нету - то добавляет его с помощью .unshift() в начало массива, короче если массив пустой то всё ок и добавляет и удаляет, если добавить ещё 1 объект и их станет 2, то всё пизда, не удаляется ни 1 ни 2 объект и новые не добавляются, пишет хуйню со скрина
Да
Потому что english speaker не переводит у себя в голове на орочий, а сразу понимает на своем
Можно ли настроить typescript так, что бы он запись:
interface IX { x: string }
interface IY { y: string }
type XYtype = IX & IY;
Приводил к
{ x?: string; y?: string }
А не полностью удалял не общие поля типов
>pixi
Мирка на нем едет. Хули ты как этот? Не выябывайся, бери и едь.
>xstate
Мостик лучше перформит.
Вью может работат в рантайме. Подключил скрипт и вперёд.
Реактом нельзя пользоваться без бабеля, вебпака и ещё нескольких пакетов и этапа сборки всего этого.
Для запроса >>1974752 это самое то.
Недавно тоже надо было сделать небольшую формочку для электрона. Хотел на реакте, но как осознал что я уже потратил пару часов и у меня 300Мб в node_modules, а её ещё ни строчки кода не написал, плюнул и за оставшиеся пару часов раскурил доку по вью и сделал эту обоссаную форму без зависимостей вообще.
>чё ты там понаписал
Типа того, работает пока массив пустой или имеет 1 объект, потом выдаёт ошибку что id не найден, запускается эта хуйня по клику на кнопку
$.each(items, function(key, val) {
if (val.id == 15) {
items.splice(key, 1);
} else {
items.unshift({id: 15, name: "Саша", age: 2});
}
});
Чувак, местные телепаты сейчас в отпуске.
Поэтому, тебе придётся запостить сюда свой говногкод.
И лучше - через pastebin.
А ещё лучше - делай пример на jsfiddle.
Ты через jQuery массив перебираешь?
Не надо так делать, это для другого.
Перебирай в цикле for.
Ну да, я про |, опечатался
for in пробовал, он тоже после 2 раз ломается, но по другому, он начинает добавлять элемент по 2 раза и не удаляет, бля уверен проблема в ебучих ретурнах
>>1975098
Чуть выше код >>1975095
В зависимости на какую страницу пользователь зайдет обект который нужно найти в массиве или добавить меняется, точнее меняются его значения, ключи остаются теми же
https://krausest.github.io/js-framework-benchmark/2021/table_chrome_89.0.4389.72.html
Реакт, конечно, хуево перформит.
Не for in, а простой for(let i = 0; i < arr.length; i++) {let item = arr; ...}
Далее - не надо мутировать массив в цикле. Подумай почему.
Надо запоминать то, что ты хочешь удалить, и удалять после выхода из цикла.
componentDidMount(setInterval 1 sec)
а в
componentWillUnmount(clearInterval)
componentWillUnmount срабатывает каждую секунду типо отменяет таймер? что бы заного его отрендирить? Или когда она срабатывает нахуй ? Непонил когда происходит размонтирование.
Бля, там let item = arr индекс-в-квадратных-скобках
А все понял, он срабатывает когда мы удалем рендер из DOM
Монтажники-высотники по Реакту здесь?
>снова результат преждевременной оптимизации - попытка сделать покороче и побыстрее
Лол так и есть, сперва миллиард раз в голове обдумываю как это будет грузить браузер и как сократить код, а потом уже как это сделать, короче ты понял, пиздец времени отнимает и путает
>>1975118
Уже тоже подумал что проблема возможно в реализации for in, потом затестю обычный for
То есть ты предлагаешь делать переменные и в цикле просто записывать в них результат, а уже после выполнения цикла проверяя эти переменные решать удалять объект или добавлять?
Ещё раз - поиск отдельно, удаление/добавление отдельно.
Т.е. просто отдельная функция findItems(...), она должна возвращать индекс элемента. И затем - отдельные функции для удаления или замены, типа deleteItemAtIndex(i) и т.п.
Вообще, старайся разбивать код на функции.
Делай "словарь проблемы", т.е. описывай её словами, выделяй глаголы - это функции, существительные - параметры или возвр. значения. Т.е. твоя программа должна состоять из высокоуровневых слов, которые что-то делают. А не из какого-то набора низкоуровневых команд.
Да я понимаю анон, просто это костыли для себя, по этому хочется максимально просто и коротко и шоб работало даже на калькуляторе, спасибо ещё раз
Svelte самый простой
type PT = Partial<XYtype>;
довен, пва это форма деплоя веб приложений, большей частью как раз спа
Сделал. Можете смотреть
Ты че немужик что ле? Рахит зумерский?
Мужик перебирает через что хочет и хрен кто ему указывает
Выедь за пределы своего Мордора хоть раз
Вот ведь делать ему нехуй
полифилы заведи
>хотелось бы перестраховаться и с говном мамонта
Ты и есть говно мамонта
Говну от говна незачем страховаться
Лок уже на await выставлен, проверяй результат во внешней мапе
мне кажется ты хочешь асинхронный генератор а не лок
Юзай стримы и шарь их мультикастом.
А чем их ещё перебирать в треде ДЖКВЕРИ?
Имеет. Есть свойство http-only, чтобы не имел.
Прологировал объект window.location - все на месте. Затем прологировал ее через
for (let [key, name] of Object.entries(window.location)) {
console.log( key, '->', name);
}
И... В каждом втором атрибуте, включая hash конечно, лежит пустая строка. втф?
Соответственно, когда я тестировал user.js, container.innerHTML возвращал мне полностью отрендеренное дерево, где я мог по нему ходить и сверять данные с пропсами. Как достичь подобных результатов с users.js?
>который создается через ReactDOM.createPortal()
Ты настолько не доверяешь реакту, что готов его потроха тестировать? Лолбля, это верх уебанства.
Вообще не понял почему оно такое резкое.
>>1975065
Дико затупил не понял как это к приложению с threejs подключить, дропнул солид.
Планирую напердолить свою обсерваблу в основном потоке + обсервер с стейтом в вебворкере. Найти/написать шаблонизатор, роутер, рендер, который подключается/неподключается в глобальный requestAnimationFrame. На сколько жидко звучит?
>>1975087
> Мирка на нем едет. Хули ты как этот? Не выябывайся, бери и едь.
Не так много нужно-то на самом деле. Просто немного шаблончиков для рендера канваса, руками сделаю лучше.
> Мостик лучше перформит.
Тоже думал, но обсервер неплохо выглядит, на нём уже завёл.
Я-то, может, и доверяю. Но в шараге сказали покрыть тестами 60+% кода проекта.
JSDOM, эмуляция ДОМа, Ильхам Зюлькорнеев мокрые письки, скачать Puppeteer бесплатно без смс.
Не вижу у тебя в контейнере #portal, куда по-твоему портал ведёт?
Оцените короче хуйню: есть react-hook-form. Ошибки валидации там выводятся так:
{errors.input.type === "errorType" && <span>text</span>}
Короче ебать. Я сделал вот этот span отдельным компонентом, в который пропом передается текст. Мне этого показалось мало, и чтобы каждый раз не писать текст я сделал enum:
enum Errors {
errorType1 = "some text",
errorType2 = "some text",
...
errorTypeN = "some text"
}
Я не перемудрил и не сделал хуйню случайно? Стоит ли вообще стараться максимально разбить компонент на набор микрокомпонентов?
>максимально разбить компонент на набор микрокомпонентов?
tckb 'nbv rjvgjytynjv yflj eghfdkznm nj lf
Я просто хуею, почему у тебя массив объектов и ты ищешь в массиве нужный объект с ID. В чем проблема сделать объект, где ключами будут ID (они уже блять уникальные и не повторяются), а значением объект с полями name и age. Ты сейчас "ищешь" за O(n), а может это делать за константу.
Еще добавляет в начало. Я просто в ахуе. Откуда вы лезите. Иди пролистай кантора.
https://replit.com/@CharonIV/realShit Это условное решение под твою задачу, если я все правильно понял
Блять, ну так бы и сказал "контролед компонент". Я ебу что такое "компонент которым надо управлять". Никто блять так не говорит.
Ты, конечно, правильно его пристыдил.
Но, и сам тут же обосрался прилюдно.
Вот в этом месте:
>а значением объект с полями name и age.
Значением должен быть полный объект, вместе с полем id, и никак иначе.
И да, это дублирование информации.
И да, именно так это всё и делается.
Кантора меньше надо читать.
И больше - умные книжки.
Например, a = 10, b = '+', c = 5;
Как вычислить выражение a b c?
На ум приходит решение лишь методом сравнения, вроде если b === +, то написать a + c, однако это кажется громоздким решением. Есть что-нибудь короче?
>Блять, ну так бы и сказал "контролед компонент". Я ебу что такое "компонент которым надо управлять". Никто блять так не говорит.
Это не короче, но куда мощнее.
Почитай книжку dragon book от Alfred Aho и др.
Там рассказано, как сделать парсеры любых выражений.
Ты сможешь запрограммировать разбор любого математического выражения, и затем посчитать его.
Можно будет даже хоть свой язык программирования замутить.
Оно не сдохнет, пока существует монополии гугла, эпла и микрософта, т.е. ближайшие лет 20 точно.
Если что-то не изменится и не случится.
Нежелательно использовать для чего, блять?
Вот именно для того, для чего ты хочешь, его и надо использовать.
Или делай сам парсер, AST, вычислитель, всю хуйню.
Ну, то-есть, сделай свой eval.
Осилишь?
Там всегда лежит то, что находится в хэше адреса. Если у адреса нет хэша, то и строка пустая.
А ты криворукий долбоёб.
Клован, я тебе еще раз поясняю: проверка через
console.log(window.location)
показывает что в hash лежит нужная переменная
следующая проверка через
for (let [key, name] of Object.entries(window.location)) {
console.log( key, '->', name);
}
показывает что там пустая строка
Да, показал уже.
Билэт, какие нахуй 40 Мб? Где тут 40 метров могут быть?
Код в окошке справа, там в целом нихрена особо и не используется, это TS сам по себе столько памяти хуярит? (и да, с фига ли пистон быстрее вышел? время на компиляцию же не должно учитываться)
https://leetcode.com/problems/special-array-with-x-elements-greater-than-or-equal-x/
Во-первых это какой-то обоссаный сервис. Вообще хз как в нём нормально измерять и тестить, он каждый проход разное время выдает.
Во-вторых вообще-то пистон оптимизированнее чем жс. Ничего удивительного нет.
где его кусок кода или техническое задание, которое доказывает что он использует ID для чего-то кроме как понять есть ли нужный объект в массиве или нет?
Не измеряй на таком говне измеряешь скорость кода. Это вообще не показатель и нужен нормальный дебагер.
В любом случае, жс медленное дерьмо, но он как бы это клиентское медленное дерьмо. Проблемы всегда можно решить нормальной архитектурой. Всё остальное уже остальное.
Лол, недавно в треде питона спрашивал про скорость и там наоборот говорили что жс быстрее, в асинхронности уж точно
В интерфейсе IDepartment у меня есть поле Employees: any, где я храню массив из чисел.
Как мне пройтись по всем обсерваблам и войти еще внутрь Employees и скопировать оттуда данные в новый массив чисел?
Angular
Хз, может шизло с этого треда протекло и ходит спорит про языки.
Как может быть жс быстрее, если у пистона матлиба, pypy и cython есть, типо натив c.
<h1>{movie?.title || movie?.name}</h1>
Этот вопросительный знак как я понял чтобы не было ошибки в случае если значение undefined и отрисовалось хотя бы одно из двух условий. Чтобы не городить всякие if/else.
Но вот из какого это синтаксиса? В JS же такого нет. Есть в тайпскрипте но там жс используется.
Когда вызывается useEffect компонент ререндерится. По моему если использовать useLayoutEffect, то запрос сделается до того как компонент загрузится
В стандарте еще нет, только пропозал
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/Optional_chaining
А какой практический смысл сначала рендерить компонент потом вызывать юзэффект и снова рендерить? Разве производительность не уменьшается от этого?
И слева и справа абсолютно одинаковый кусок кода.
Чтобы не висло, и заглушку можно было показать сразу.
SpongeBobSquarePants
Чел весь прикол WebGL технологии и 3D в браузере в том, что ты можешь взять и покрутить эту модель в браузере, всё. Если тебе просто нужно чтобы крутая хуйня крутилась на сайте, можно в 3D редакторе эту модель крутануть и отрендерить анимацию с прозрачным фоном и вставить ее в сайт, поэтому если честно не вижу смысла заниматься three.js кроме игр, где интерактивность как раз и нужна. Короче думай сам, я думаю если пойдешь на Upwork или другие фриланс платформы, там конечно твоя узкая спецуха зарешает ибо не надо будет конкурировать с 50 другими бесами, но опять же и количество заказов будет - 2 контакта раз в год.
Компонент является как бы хозяином некоторого стейта, который ты отрисовываешь внутри него компонентами без стейта. То есть, у тебя компонент-приложение должен прогрузиться, а потом начать долбить запросы, а не компонент-представление.
Я бекенд-макака, в совем пет-проекте у меня много нативного JS, и так как я пишу так се, то у меня бардак. И я решил в реакт вкатываться.
Что мне нужно - это подгружать мои компоненты реакт ( вместо моего старого кода ) на мои страницы уже существующего классического приложения на пхп.
react-create-app - он поднимает отдельный сервер, и я не понимаю как его настроить что бы он позволил мне делать отдельные компоненты реакт, которые я уже классическим образом буду подгружать в мои шаблоны пхп.
и такой вопрос - у меня есть сложная форма, в ней много всего происходит. Этим всем управляет мой JS. Правильно ли я понимаю что если реализовывать форму на реакте - то я должен создать условну. пустую точку входа скрипта, типа <div id='root-form' ></div>, в которую реакт сгенерирует html моей формы? Это к тому что мои текущие формы, отрендеренные пхп по классике - мне придется убрать? Если я хочу допустим какие то проверки валидации проводить в уже отрендеренной форме - это возможно?
Что выбрать?
1)redux-toolkit
2)redux rematch
3)Mobx
4)Effector
5)Recoil
6)Reatom
на php Делай rest api
на react просто клиент к этому rest-api
все другие способы - не нужны.
если прям очень сильно хочется отказаться от ваших php html-шаблонизаторов и взять что-то помощней но для макаки, то бери vue , он как раз разрабатывался для таких макак и говно архитектур.
Не представляю насколько нагруженным должно быть приложение чтобы обычный дом заметно "лагал"
Тем более учитывая качество 95% проектов на реакте
на реакт все работает быстро, на ангуляре даже youtube админка лагает :( Возможно в последних версиях поменяли.
вот цитата:Вдобавок к усложнению организации кода и его повторного использования, классы создают существенный барьер в изучении React. Нужно понимать, как работает this в JavaScript, поведение которого отличается от большинства языков. Приходится помнить про привязку контекста для обработчиков событий. Без использования нестабильных синтаксических предложений, код становится многословным. Люди могут прекрасно понимать пропсы, состояние и однонаправленный поток данных, но всё равно путаться с классами
Спасибо.
А по второму вопросу? Реакт может управлять только теми элементами которые сам создает? Тоесть что бы мне реализовать мои формы на реакт - мне нужно из шаблонов полностью убрать формы, и сделать точку входа для реакт в виде пустого див?
п.с.
Как я понял в ангулар (я его совсем не знаю) существуют директивы, с помощью которых можно привязать логику ангулар-скрипта к элементу разметки который ангулар не создавал. Какие аналог этого механизма в реакт?
типа такого можешь сделать для каждой страницы.
window.renderView = function (data, node) {
render(<App
foo={data.foo}
bar={data.bar}
/>, document.getElementById(node));
};
window.renderView({foo:1, bar:2}, "#pidor")
если ты хочешь на сервере разметку генерировать, то https://ru.reactjs.org/docs/react-dom-server.html#rendertostring
Блин, я просто хочу к той , совершенно обычной форме, которую я сверствал в html файле как то прикрутить реакт, вместо своих самописных скриптов.
Что бы реакт управлял поведением этой формы.
Я почитал про ref - но там везде ссылка ref вставляется в тот элемент который возвращается из render()
Вот блин. В дальнейшем я полноценно хотел уже компоненты с помощью реакт реализовывать, но для текущей разметки хотел так как выше сказал. НЕужели никакого варианта нет?
вью я не знаю, а реакт по верхам исспользовал
1. Ты неверно понимаешь про директивы в ангуляре.
2. Тебе уже сказали - возьми Vue - там это всё есть, и более того - это одна из фишек этого фреймворка - то, что его можно внедрять постепенно.
3. Реакт не нужен. Совсем. Ни для чего.
Вариантов - море.
Тут больше зависит от того, что у тебя на серверном конце.
И какого рода запросы ты хотел бы отправлять.
Простейший вариант - обычная html-форма с get или post запросом.
Ты дурачок? Хуки для того чтобы стейт расширять удобно было (не нужно в двух местах писать) и чтобы constructor не писать. И чтобы стейт петушить функционально и немутабельно.
Почему нельзя просто повесить слушатель событий без value=[text}
Вроде и без value работает. Какие подводные
Спасибо, попробую.
Вообще мне надо реализовать управление машинкой, на которой стоит esp, через веб страницу. В теории можно бы было подключить к серверу arduino, но такой способ может быть медленным.
А, все получилось. Не надо, не ебите.
Бери StimulusJS и радуйся жизни.
В tsconfig.json задал "baseUrl": "src".
Все отлично работает, могу писать так:
import { AppThunks } from "store/app/app.actions";
import { importantEventsThunks } from "store/pageAreas";
НО
по какой-то причине я не могу сослаться ни на одну загруженную библиотеку.
Пишу вот так
import {
DragDropContext,
DropResult,
ResponderProvided,
Draggable,
Droppable,
} from "react-beautiful-dnd";
и при билде получаю ошибку:
Module not found: Can't resolve 'react-beautiful-dnd' in 'E:\repos\diaryApp\diary-app-frontend\src\components\Calendar'
При этом то, что было установлено давным давно почему-то работает (вот этим я пользовался с самого начала приложения и сейчас ошибок нет)
import { useDispatch, useSelector } from "react-redux";
Но при попытке сослаться на любую новую зависимость получаю Module not found.
В чём может быть дело?
Оно одинаково работает, поехавший
смотря для чего. если чужой бизнес делаешь, то самое распространненное конечно
Почему программисты такие рабы?
у вас прошивка раба?
Делаешь чужой бизнес - значит он не твой и значит ты должен выбрать инструмент который будет удобен ТЕБЕ а не бизнесу
в случае чего сменишь работу если этот инструмент надоест
Да я читать умею, просто не понимаю, а какого хуя ее нет то? Как мне прочитать ответ сервера тогда?
1. Какие пререквизиты для электрона если с языком я дела раньше не имел вообще?
2. Возможно ли из сабжа напрямую делать системные вызовы? Или же на электроне замутить сам UI, а в качестве бека юзать подпрограммы на C/C++?
Разобрался. В данном случае обязательно использовать async/await, тогда все работает.
Неужели в Алмате мало конкуренции, вроде относительно развитый город
fetch возвращает промис, ты можешь писать .then вместо await
Это случайно не ты его давно пиарил? Мне тоже своей простотой понравился, судя по доке, на всякий случай схоронил. У тебя не было с ним никаких косяков?
function mkSorter<T extends { [key: string]: unknown }>(prop: keyof T) {
return (a: T, b: T) => a[prop] - b[prop];
}
Как сделать, чтобы можно было передать только такой prop, при котором не только prop: keyof T, а еще и T[K]: number
function mkSorter<T extends { [key: string]: unknown, K extends keyof T }>(prop: K) {
return (a: T, b: T) => a[prop] - b[prop];
}
фикс
Как я уже понял, в компонент нужно прокидывать action и data (что мы делаем с формой и в случае с Edit, Delete - сами поля объекта). Внимание вопрос - как блять прокинуть данные в другой компонент? Пол дня проебался, читал про какие то Child-parent, interceptors - какая то мудренная хуйня. Как это по человечески можно реализовать? Спасибо.
Это копия, сохраненная 22 мая 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.