Это копия, сохраненная 20 апреля 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в Ад.
Для программирования на HTML https://jsfiddle.net/
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: что я хочу получить, что я для этого делаю, что я вместо этого получаю. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Руководство для вката: https://developer.mozilla.org/
> прочитал весь mdm
> прочитал весь learn.javascript
> прошел купленые курсы буры по React JS
> написал десяток SPA для портфолио
> во время ввода в форму ввода обновляется все приложение
> считаешь себя крутым web engineer
Информация не сжата для того чтобы уместить на веб-страницу, как в онлайн-курсах/туториалах. Не нужно слушать долбоебов с дефектами речи, которые экают, мэкают и пытаются пересказать документацию/курс. В целом информация подана профессионально с приложением ссылок на полезные ресурсы.
И на тысячу знаков текста 90% воды.
Да, но нет. В DOM обновляется только то, что изменено (если нормально ключи расставлять), а ререндерится по умолчанию компонент где был изменен стейт и все его дети. Так что если хуево сделать форму, то на каждом вводе символа она будет ререндерится целиком. Чтобы ререндерилось все приложение это прям очень сильно постараться надо, случайно такое сделать сложно.
В каком случае происходит обновление? Когда изменились пропсы или стейт? Сформируй новый обьект перед отправкой в стейт и сравни его с обьектом в стейте, они разные?
В книгах ты работаешь с одним-двумя проектами на всём её протяжении. И проекты вполне типовые, потом можно использовать часть кода в реальных проектах и вообще представлять как выглядит адекватный код.
Ну, как успехи?
Передать в функцию onChange можно что угодно.
В том числе, номер селекта, заданный в модели.
Лучше таки задать его в модели, чтобы не иметь проблем, если решишь изменить компоновку на странице.
Если ничего не передал, передаётся событие (можешь принять его в единственном аргументе). Можно и событие и аргумент, как написал >>1857377 → ($event - предопределённая переменная).
5х3 можно сделать как 5 дивов по 3 селекта в каждом.
Вообще, задача не сложная, но, ты бы просто поигрался с vue на более простых примерах. Разобрался бы с циклами, параметрами в обработке событий и т.п.
И да, $ - это не знак переменной, как в перле или в пхп и т.п.
Это часть имени для некоторых переменных Vue.
В шаблонах Vue нет классической интерполяции строк, там просто выражения JS.
Т.е., k надо писать просто так, и не в кавычках, как у тебя.
> во время ввода в форму ввода обновляется все приложение
Очевидно у тебя onChange обновляет какой-то стейт, который либо сразу в app зашит, либо как-то по цепочке тянет за собой обновление еще каких-то стейтов. Либо у тебя не стоит preventDefault, и потому после отправки формы выполняется стандартное для браузера обновление страницы.
> написал десяток SPA для портфолио
Я сейчас сам учусь и думаю над тем, какие приложения для портфолио написать. Но у меня почему-то была мысль сделать одно, но более полноценное, чем десяток тудушек. Какие приложения ты делал?
Я тебе слово давал, сссука?!
Но через пару дет юзера обновят процы и моя форма будет казаться легковесной по сравнению с новым говнокодом и можно будет просить х2!
>preventDefault
Конечно я ведь не юзаю классы
>Какие приложения ты делал?
Туду на ректе
Туду на реакте с хуками
Туду на реакте с редаксом
Туду на реакте с хуками редакса
Туду на реакте с хуками и редаксе с хуками
Да никуда я не вкатываюсь просто для себя интересно как рендерится компонент при разной реализации
Я конечно всё понимаю, но тудушки это ведь уже какой-то мем
Мало того, ты же воспроизводишь одну и ту же логику из раза в раз. Не представляю как там внятно можно реализовать контекст или HOC например. Да и в целом, ну вот кому нахуй вообще эти тудушки всрались? Там даже бека у тебя ведь никакого нет?
Я вот сейчас хочу сделать некий аналог саундклауда, ну т.е. не стартап конечно, лол, а просто более-менее сложное, полноценное приложение, чтобы было что показать хотя бы, ну и чтобы ебля с кодом была такая, что аж обои от стен отклеивались бы
> чтобы ебля с кодом была такая, что аж обои от стен отклеивались бы
Бери редукс, саги, сложный интерфейс, формируемый из сетевого запроса(не название кнопки, а динамическое содержание таба набитое контролами например). И чтобы не тормозило при заполнении флюормочек, оче рекомендую.
>чтобы ебля с кодом была такая, что аж обои от стен отклеивались бы
любое тырпрайз говно с soap сервисами и xml, сейчас много переписывать надо с флеша на хтмл5
В настройках роутинга:
{ path: 'something/:first/:second', ... }
ngOnInit() {
let manId = this.ActivatedRoute.snapshot.paramMap.get('first');
let womanId = this.ActivatedRoute.snapshot.paramMap.get('second');
}
1. Как затипизировать first и second? У них тип "string | null", хотя я могу передавать число или объект например. (Или не могу, лол?)
2. Если передать undefined, в адресной строке всратое "something/undefined/undefined". Я неправильно использую инструмент?
У них тип string потому что в url можно передавать только string, дальше сам парсишь.
Что ты хочешь вместо всратого undefined?
first/second намекает на вложенность, у тебя это кажется не так, возможно matrix params здесь подойдёт лучше. Только не говори что выглядят всрато, лел
> YA PSINA
> пук
Кто интерпрайз переписывать-то будет, а?! Интерпрайз - это долго, надёжно, на века.
Тем более флеш, который в раз 37 будет лучше, чем везделагающий хтмл5.
Та хуль тебе обосновывать, лалка.
Реакт - это стандарт сейчас, хули тебе, дегрод, обосновывать.
Он сейчас и в вебе стандарт, и в мобайле, и на десктопе. А ты, лошара сифозная, какую-то коричневую массу с помидорными шкурками языком месишь.
Реакт - тупая и тормозная параша с тоннами бойлерплейта.
Стандарт?
Тут про флеш вспоминают, тоже был стандарт. Помнишь такой?
>хотя я могу передавать число или объект например
В смысле ты в адрес можешь передавать число или объект? лол
>Если передать undefined, в адресной строке всратое something/undefined/undefined"
Ты передал строку undefined, получил /undefined? Что тут не так работает?
Ты ебанутый?
Потому, что в жизни есть более интересные вещи, чем каждые несколько месяцев изучать очередную тупую хуйню, которая делает ровно то же самое, что и все предыдущие, но через свою особенную жопу.
Вопрос - как избавить от свитча? Кроме иф елсе?
Vue бай дизайн дрисня говна для отставших на 30 лет даунов
Angular слишком поехавшая необъятная хуйня, еще и стабильно катящаяся хуй пойми куда и зачем
React по своей сути за все эти годы поменялся только в топ лвльных апишках, всего его знают и все на нём пишут
Слышь, чушка модная, ты послушай что тебе люди говорят и пойми, что реакт - технология без альтернатив на сегодняшний день. Ангуляр - это жирнейшее поебище со всем без свободы, вью - это поганая китайщина без задач. Прими это к сердцу, что есть люди поквалифицированее, послушай их сделай как заведено.
Чушок, ты свою жопу за банку сгущенки ставишь или 3 сигареты? Спермоприемник захлопнул и пошел делать инъекцию очередного компонента, ангулярщикам слово не давали.
Да, я ебанутый, понял уже. Нужно приводить. А вот смотри, если вот так:
{ path: 'something/man/:man/woman/:woman', ... }
Получается "something/man/undefined/woman/1488" с этим я готов мириться. Но как теперь засунуть параметры в линк?
[routerLink]="['something/man/1/woman/1']" понятно, но нужна динамика.
[routerLink]="['something/man/ ?/woman/ ?', man, woman]" можно как-то внутрь добавить?
тут все вопросы по вышеперечисленным технологиям
Гениально! Хуёво, что из документации хуй поймешь (ну или я просто тупой). Спасибо.
>Осло, сикретики реакта:
>nesting children defeats memoization
>https://gist.github.com/slikts/e224b924612d53c1b61f359cfb962c06
Объясните плз, почему так происходит? Почему не работает мемоизация при использовании props.children?
Какая проблема заюзать immer?
document.querySelector(".add-todo").value
Словарь вида "название кнопки" : (действие)
Типа:
const actDict = {
"ctrl": ()=>console.log("hui");
"alt": ()=>console.log("pizda");
}
chain of responsebility, но это больше для ситуации когда для нескольких клавиш нужны одинаковые действия.
Ты мне не body, mate
Тут вариантов совсем не много - switch/if или разные обработчики.
Или ты ещё какие-то знаешь?
Зачем ты вообще один обработчик повесил на разные действия?
Захлопнул харю, пизды получишь, я зигомет.
Кусок китайщины - это значит пиздос. Прямо как гугл в последнее время - делается жунами с низкой социальной ответственностью.
Как же блять хорошо было с MVC и Dependency Injection и two way binding, как же можно было высрать этот дичайший реакт просто не представляю
https://stackoverflow.com/questions/51777013/react-redux-how-to-call-multiple-dependent-actions-in-sequence
Ты какой-то не в меру дерзкий, сынок.
Порция лечебных хуйцов должна тебя успокоить, лол.
>>58076
Реакт (и вся ёбала вокруг него) - очень opinionated.
Какой фейсбук, такие и инструменты.
Леваки, хуле. Кто не согласен быть счастливым, тех приведут к счастью железной рукой.
Шаг влево, шаг вправо - побег, прыжок на месте - провокация.
> практических заданий поболее.
На собеседованиях один литкот спрашивают и всякую жс шизу которую синьер вчера на хабре прочитал
Не говори, анон. Я начинал с Реакта, охуевал о того как всё криво-косо реализовано, от того что как только задача выходит за рамки тривиальной, так сразу приходится пилить какой-то лютый костыль. При этом об Ангуляре у меня было мнение как и у большинства - это еще хуже реакта, помимо ебли еще и много лишнего и т. п.
Как же я был удивлен когда ради интереса попробовал Ангуляр и понял, что слухи это всего лишь вскукареки макак которые не осилили ООП и хотят чтобы фреймворк осваивался за пару часов, как это делается с реактом.
В общем, нельзя никого слушать, всегда нужно пробовать самому.
Сынок? Да, зря я такого тебя чушка не вытер об штору. Позор мне за это. Передавай маме своей, что я недоволен тем, что она тебя так воспитала. А дерзким мне положено быть. По статусу и рангу, маленький ты красноперый коммунистический пидор.
Иди дрочи на свою коммунистическо-гугловую ангулярическую ересь, чепушок.
Спасибо, гляну. Мне не для вкатывания на галеру, кстати, если это имеет значение. Хочу сам создать, вылизать и поддерживать свои проекты.
Типа например есть 4 кнопки, по клику на каждую нужно отобразить данные.
Есть 4 массива с именем pg1, pg2, pg3, pg4
И типа по клику прилетает число 1, 2, 3, 4
Можно ли как-то в стейт записать массив в виде:
data: pg(как-то вставить сюда число нахуй, которое приходит по клику)
Понимаю что лютый говнокод и хуйня, и так вообще не делается, но просто интересно добить эту задачу.
Вариант с шаблонными литералами не работает, я не знаю почему. В некоторые функции их передавать можно, а в setstate я не могу. Или я просто не правильно это делаю, я ща ебнусь нахуй 12 часов без перерыва пишу хуйню
ХСГ
По имени можно получить свойство объекта.
let arr = {huita: [..массив-хуиты..], ...};
let huita = arr['huita'];
А вообще, ты занимаешься тем, что называется "преждевременная оптимизация".
Это большой грех, и корень многих зол, как учат нас классики.
У тебя же не 40 кнопок? И они все заранее известны?
Так нахуя же тащить позднее связывание туда, где оно и нахуй не нужно?
pattern matching
Что-то типа effective react или patterns of react. Желательно чтоб поновее с руками и прочим.
if (Math.floor((date2.getTime() - date1.getTime()) / (2460601000)) === 6) { / делай хуйню */ }
Да, оно на уровне пиздежа выглядит очень занимательно.
А потом - "не путайте туризм с эмиграцией", лол.
>Math.floor((date2.getTime() - date1.getTime()) / (2460601000)) === 6
поэтому олимпиадники и крутят деревья чтобы никогда не ебаться с датами
> писать туда значения инпута а потом отправлять в редакс?
юзай БИБЛИОТЕКУ™ типа formik у которого внутри уже стейт свой с валидацией и отображением ошибок, в самом реакте ваще ниче нет и надо самому писать или искать тех кто уже написал
У этого кода столько провальных корнер-кейсов, что перечислять устанешь. Лучше не выебываться и юзать luxon, там все есть уже.
Хранить данные форм в редаксе — так себе идея.
Так а как мне сделать чтобы в данном случае ts понимал, обе переменные определены? Я хочу просто упростить запись и вынести условие отдельно вместо записи: x && y && z ? doX(x, y, z) : doY()
let myObj = {
addMore: (x, y) => {this[x] = y}
}
Но когда вызываю метод addMore объект не меняется, как сделать что работало?
У стрелочных функций нет this
Блять как ты вообще додумался до сценария где у стрелочной функции не имеющей своего скопа скоп улетает в пизду?
Твой объект объявлен как литерал, все присвоение его будут происходить по референсу, имей это в виду
Поскольку ты объявил этот один объект, то ссылаться ты должен на него (поскольку у стрелочных функций нет своего скопа (х2))
В случае с этим одним литеральным объектом ты должен писать ссылку на него же (myObj, а не this) :
let myObj = {
addMore: (x, y) => {myObj[x] = y}
}
Если ты хочешь констрактить объекты, то должен обернуть в другую функцию. Тут свой скоп будет иметь объект слитераленный при помощи ({})
let myObj2 = () => ({
addMore: (x, y) => {this[x] = y}
})
>>58398
Собственно нахера я вообще это делаю? Мне надо сделать что-то вроде очереди с лимитом. У нее есть ограничение в кажем 10 элементов и когда в нее пушат новый и она переполнена, то у нее автоматом вызывается shift и с полученным элементом проводятся некие манипуляции. Обычный массив не подойдет, т.к. в некоторых случаях надо как можно скорее проверить вхождение элемента (айдишника) в объект при помощи in, поэтому объекты будут добавляться во внутренний массив при помощи addMore
Дело не в том, что ты вынес сравнение, а в том, что типы переменных не допускают такой операции.
В ts так делать нельзя.
Надо явно проверять строку на == null или == ''
Лучше сделать функцию типа isEmpty(s?: string)
https://www.typescriptlang.org/play?#code/MYewdgzgLgBAhjAvDA5Cg3AKFJWAjJGAVzABMBTAMwEsxzSsdoZqIBRAWwAcoBPQgBQQA-AC5oAJ1oBzAJRIAfDAhJkaGAB8Ny1TDBEANgcbhmwQQEJWnHrwFx5AMkcwr7bnwF5Zsk5BAG5AB0BiDSAsC+QA
example.com/app1/[router-history]
example.com/app2/[router-history]
Знаю, как это легко сделать в виде
app1.example.com/
app2.example.com/
но интересует именно первый вариант
Есть специальные библиотеки для работы с датами. В С# такая библиотека в стандартном наборе есть.
any слишком топорно, тогда уж unknown
Сомневаюсь, что предложат что-то принципально лучшее, чем "дополнительно ебануть очередь"
Сделай ты через get/set и не еби мозг
>const y = undefined;
Это такая специальная олимпиада? У тебя переменная всегда undefined, поэтому он тебе и выдает предупреждение
Суть в том что обращаясь вот таким путём, я получаю естественно первый элемент списка, а именно там это айпишник:
lol = document.querySelector(".ip-icon-label").innerHTML;
Я хочу получить например параметры из 3-й графы, там тип браузера. Но везде как вы видите абсолютно идентичные названия этой DOM-структура. Везде одна и та же <div class="data_item copy-info-details">.
Как сделать чтоб переменная получала инфу о браузере?
The right way:
[...document.querySelectorAll(".copy-info-details")].map(e => e.innerText.split("\n")).filter(v => v[0] === "Ваш браузер:")
И хули у меня теперь этот 2ип не открывается? Ты его положил что-ли, сука?
Опять массивчик на 3 элемента((
[...document.querySelectorAll(".copy-info-details")].filter(v => v.innerText.includes("Ваш браузер:"))[0].querySelector(".ip-icon-label")
Хуяссе, ты зоркий!
Заметил, надо же.
Уверен, это было непросто, и ты собой очень горд.
А подумать - это уже лишнее, надо же скорее поделиться открытием, и показать, какой ты умный.
В душе не ебу, что такое Meteor.
Но, Vue - это очень правильный выбор - и вообще, и для ньюфага особенно.
Только бери сразу Vue 3.
Оно пока в статусе preview, но, совершенно нормально работает.
Meteor это такой бэкэнд-фреймворк, который обещает классную безопасность, аутентификацию искаропки и хорошую интеграцию с MongoDB опять же искоропки.
Позиционируется как простой фреймворк для гумов и нубов
Почему он находит лишние значения вроде этого:
let g1='garbage0001';
g1.match(pattern);
Вывод: [ "garbage0001", "garbage000", "1" ]
Допустим \w работает по уебски но паттерн /([A-Za-z]+)(\d+)/ тоже ничего хорошего не показывает:
[ "garbage0001", "garbage", "0001" ]
Все что он должен вывести это ["garbage", "0001" ], либо null если паттерн не работает. Почему он выводит лишний garbage0001
SRE скозал - надо TLS.
Но сука:
https://github.com/alexguan/node-zookeeper-client/issues/56
https://github.com/yfinkelstein/node-zookeeper/issues/136
Я уже обыскался этих ебучих клиентов. Как быть?
Как в браузере, при помощи JS, проверить, открыт ли порт в локалке, или же закрыт?
Пидорас ты недорезанный, мудозвон ты необъезженный, пиздомудак ты реактивный. Я твою бабушку в рот выебу, ты меня понял? Скажи тварь где ты живешь и я тебе глазницы спермой залью, педрота ты гомодрильная.
Огрызается тут оно. Мразь. Жопа бомбит от вас.
Над чем думать? Наде тем что мудила не понимает собственный код, потому что ему внушили везде писать const?
> пук-ББББАБААААХ!
Хуя, твою жопу петушиную порвало)))
Ты как увидишь меня, то обосрешься, уася.
Что тебе надо то блять? Если тебе слово и цифры надо, то даешь имена группам и обращаешься по этим именам при получении значений:
(?<word>\w+[^\d])(?<number>\d+)
Потому что бэк это доступ к данным. Если на фронте ошибка это либо плохой опыт для непосредственного пользователя, то на бэке ошибка может привести к потере/утечке данных, а также к плохому опыту для всех пользователей твоего сервиса. Поэтому на бэке нужно делать всё максимально внимательно и безошибочно, а это делать легче с наличием статической типизации, а еще лучше с наличием сильной типизации.
Но ведь есть тайпскрипт для этого. На крайний голанг. Писать на жабе или пхп не стильно не модно не молодежно
>Но ведь есть тайпскрипт для этого
Я про него и писал, но это редкость, так как можно нахуячить any и от статической типизации ничего не останется. При этом у него нет никакой защиты типов в рантайме.
>На крайний голанг
Для тех у кого есть опыт с Java. Вакансий чуть меньше чем нихуя, для вкатунов стремится к нулю.
>Писать на жабе или пхп не стильно не модно не молодежно
Количество вакансий говорит об обратном.
Дело не в типизации.
Дело в платформе - язык, библиотеки, инструментарий, среда выполнения.
JS - безблагодатная скриптопараша, которая, как тот уроборос, сосёт свой собственный хуй, и больше ничего сделать не может - рот занят.
Ничего путного для бекэнда на JS написать нельзя в принципе.
В ноде он просто дёргает сишные либы (написанные для браузера, в основном, лол).
А Java - это классический компилируемый язык, со всеми прилагательными, плюс - JVM - чудо инженерной мысли.
Написать на нём можно что угодоно вообще.
О пыхе я бы предпочёл не упоминать, ибо говно.
Но, на фоне JS-бека, пыха - просто королева, лол.
Классический сетап Реакта или Vue (cli) предполагает, что это одно приложение, со своей папкой node_modules, в которой лежит 200 мегов говна.
Речь о том, что мне, допустим, надо сделать 20-30 разных приложений в одном проекте, для одного бекэнда (разных его частей), но, основные либы у них общие. И чтобы у них была общая папка node_modules, плюс, если надо - дополнительно ещё и своя у каждого.
Т.е. 200 мб хуйни стоят в общей папке, а отличия - в локальных.
Из локальных папок я запускаю npm run serve - и смотрю кино.
Делаю билд - он собирается в отдельной папке, это же отдельное приложение. И т.д.
Внимание: я знаю как такое делается вообще, и как работает npm.
Речь именно о CLI-инструментах - React CLI, Vue CLI. Они такой сетап не поддерживают нормально, Реакт - х.з., а Vue - точно нет, и не будет, я узнавал у тех, кто его делает.
А без CLI - сейчас стало всё очень заёбисто, непозволительная роскошь ебаться руками, я только что попробовал с Vue 3 - не понравилось.
А как с этим у Ангуляра - Angular CLI?
А чего тебе от CLI-то надо? Это через воркспейсы решается. У реакта вообще никакого CLI нет.
От CLI мне надо npm run serve с hot module reload и proxy, прежде всего.
И остальное по мелочи.
Возможно, проблема именно в Vue + TS + бабель/хуябель + остальное - там получается как-то чересчур намешано лоадеров и прочей хуйни. И руками настраивать/перенастраивать всё это тяжело, особенно, если ты не фронтендер, и у тебя ещё куча всего.
В принципе, это обходится всё костыльными методами (достаточно простыми), но интересует, как такое решается в Ангуляре, который, по идее, заточен под энтерпрайз.
В реакте есть CLI, пользуются ли им активно, я не знаю.
Но, в реакте всё являтеся js (ts) кодом, и там всё проще в этом смысле.
> А Java - это классический компилируемый язык, со всеми прилагательными, плюс - JVM - чудо инженерной мысли.
ЧУДО ИНЖЕНЕРНОЙ МЫСЛИ, МУХАХАХАХАХХАХАХАХАХАХА
Такое чудо, что все толчки в Oracle забиваются этим JVM.
Тебе и хуй покажи - "это чудо инженерной мысли?".
Походу у вас ебланов там мозг умирает нахуй от Javaпидорства.
Ну и да, толчкозабиватель в лице жбм не самая лучшая VM. И генерит не лучший код, эта хуита должна работать месяцами чтобы нормально соптимизировать байткод в нативный код, и правильно подставить все цепочки вызовов мелких методов у всех классов.
> Написать на нём можно что угодоно вообще.
На любом Тьюринг полном языке можно что угодно накидать, прям реально что угодно. Это знать надо, гандон тупорылый. Conpouter scince, do you speek it?
В просто angular cli можно делать разные приложения и либы в одном workspace, но DX так себе.
Как выше сказали, nx cli go brrrr - построен на angular cli, поддерживает angular/react/vanilla на фронте и даже бек
Люто, бешено двачую. Какие же вы тут классные все, так этим легаси падальщикам морду умыли. Все правильно сказал.
мимо из .NET треда
А я тебя в очко ебал. И что? Ты владеешь знаниями conpouter scince или нет? Или ты джавачмоня верящая что можно на пидорской хуите JVM написать все, а на могучем V8 ничего?
> Ты владеешь знаниями conpouter scince или нет? Или ты джавачмоня верящая что можно на пидорской хуите JVM написать все, а на могучем V8 ничего?
Какое это имеет значение? Какая разница? Расслабься, прими успокоительное, если требуется, весь этот разговор бессмысленная трата времени, непродуктивное метание говна во все стороны.
Проксировать через nginx присрав шифрование не вариант?
Вордпрес
Вью попробуй.
и 20 / 1 зарплаты джуна
видимо статичский анализатор не справляется с подстановкой. тоесть когда он доходит до ифки в переменной лежит какая-то хуйня, которая не всязана с локальными переменными в блоке иф и он короч не осиливает
Тащемта он видит что isCorrect - falsy, мог бы и unreachable code сказать. Мечты, мечты.
let coreObj = {};
Я периодически достаю из него другие объекты по айдишнику вот так: internalObj = coreObj[id]
Когда я вытаскиваю оттуда объект по айдишнику, который туда еще не добавлен, я хочу чтобы в таком случае у меня получился не undefined а другой объект с уже заранее установленными атрибутами вроде: {"type": "waiting"}
Как это сделать "по-красивому" без прямых проверок на undefined?
Если там 0, обосрешься.
С гридом будет сложнее сделать страницу адаптивной.
>>59377
>>59385
Хотите поуссываться?
Оно заработало, лол:
https://www.typescriptlang.org/play?ts=3.9.7#code/MYewdgzgLgBAhjAvDA5Cg3AKFJWAjJGAVzABMBTAMwEsxzSsdoZhCEAydmPLaymABTAAlDADemGFJbgIIADbkAdPJABzASgAqAJQCqAURTDMAXxjl5EcuMnSmC5ao0AiAGIBBADIBlAy5NTbFlHFXUBF1ZkFBcYAGoWeJgXGOEsIA
Видимо, со вчерашнего дня они поменяли что-то в конфиге TS.
Бля, только что дошло, что я с самого начала не понял, в чём там проблема.
У него (у тебя?) там вообще другая ошибка. А я не разглядел этого на скриншоте.
Я вчера пробовал на плейграунде эту проблему (>>58364).
Всё было немного не так, как описано - выдавало ошибку при присваивании переменной isCorrectValues (у меня - 'c'), что со строкой и undefined такого делать нельзя.
Т.е., до проблемы с doStuff(a, b) дело просто не дошло.
После этого я предложил (далеко не бесспорное) решение, и запостил ссылку на уже отредактированный плейграунд (>>58427
).
Сегодня хотел написать смешной ответ на (>>59377), решил проверить, что будет, если a и b поменять местами.
А нихуя - всё просто заработало (в моём примере, не в его).
А так - да, оригинальный пример не работатет, ни в каком виде, в том числе с функцией вместо константы isCorrectValues, надо только прямо в if подставлять a && b.
>А так - да, оригинальный пример не работатет, ни в каком виде, в том числе с функцией вместо константы isCorrectValues, надо только прямо в if подставлять a && b.
Чекнул котлин плейграунд. Такое же поведение.
Если подумать логичное поведение так то.
Чтобы работал достаточно снять галочку strictnullchecks в настройках TS.
Проблема в том, что кто-то не понимает, что string и undefined это разные типы данных.
>снять галочку strictnullchecks
Сначала ты снимешь Галочку, потом Светочку. Так и нормисом можно стать.
Предположу, что снятие галочки для тех, кто на ts с js переезжает, а не для тех кто типы не осиливает.
>кто на ts с js переезжает, а не для тех кто типы не осиливает.
Обычно это взаимосвязанные понятия. Можно снимать галочки, а можно прочитать как работает типизация в TS и писать как на пикриле.
>и писать как на пикриле
Протаскивать undefined в вызываемые функции? Ну чёт такое себе. Лучше уж с if-null-check (как оно кстати называется то?) разобраться.
>Протаскивать undefined в вызываемые функции?
Типы это своего рода контракт, особенно в JS, в данном случае ты говоришь, что по условиям контракта в качестве второго аргумента в функцию могут передать переменную типа undefined | string, т. е. проверку на undefined нужно делать внутри этой функции, а не за её рамками, либо передавать в неё только переменные типа string. Анон же передает в неё тип undefined, написав в контракте, что функция может принимать только string и удивляется почему компилятор его ругает, хотя всё вполне логично.
>анон же передает в неё тип undefined
Справедливости ради, не передаёт, но и не убеждает в этом компилятор.
>переменная b определена с типом undefined
Any. А то что с undefined функция не вызовется есть проверка.
xhr ежжи.
>Any.
Undefined. Наводишь в ide на переменную и он тебе показывает её тип. Если навести на b, то он покажет b : undefined.
>Анон же передает в неё тип undefined
Ну, вот, опять.
Почему ты считаешь его дураком?
Я же вчера об этом писал, не знаю, тебе или нет: >>58607
Он пытается сделать таким образом type guard, понимаешь?
В этом и есть смысл этого вопроса, а не в том, о чём ты думаешь.
А оно не работает, потому, что анализатор не считает нужным так далеко заходить (и правильно, наверное).
Да, сорян. Чекал тип, когда const на let сменил.
Ну охуеть, можно tg убрать и будет еще проще и удобнее, олимпиадка не про это была
Погодите, хули в возвращаемом типе кондишоны то появились? Wtf? Тред про js, а не про ts, имею право раковать
А, дошло.
Я как-то всё это время подразумевал, что у него объявлено:
const b:any = undefined;
Тогда всё работает, расходимся, лол.
Чому?
if (a && b) достаточно
не работает, если вынести a && b в отдельную переменную p и проверять if (p)
Это да, но, объявить таким образом можно, и тип будет считаться any, а значение - undefined.
Я начинающий тайпскриптер, поэтому иногда выдаю желаемое за действительное.
В данном случае - если в левой части нет типа - значит any, лол.
>>59817
https://www.typescriptlang.org/play?ts=3.9.7#code/MYewdgzgLgBAhjAvDA5Cg3AKFJWAjALjjAE8kYBXMAEwFMAzASzFuq23GhkYgGEQATgNrAoANTgAbCrQjkEAMgUw87elVGNwMaiADKUCvXoAKOARjQBzAOYAaFRau2AlDADemGDBwQQk2gA6SRAbEwAiBGRwmABqeDiYcIc8chj4vBcsAF9MTEZ6GBMefiERcSkZCDdPb29dAyNTOBSszGyYWkkIWg8vOt9-IJCw8IAxAEEAGT0AUXCXdswgA
Но, это глупо.
У тебя переменная имеет тип undefined, и это ещё и константа.
undefined - это тип с единственным значением undefined.
Т.е. она в принципе, никак не может стать чем-то другим.
Т.е. такой задачи в реале быть просто не может.
В этом и смысл использования TS.
4 года уже висит открытым, последний коммент в октябре этого года:
https://github.com/microsoft/TypeScript/issues/12184
Пусть объявляет как string | undefined
Реальная причина:
> This would require us to track what effects a particular value for one variable implies for other variables, which would add a good deal of complexity (and associated performance penalty) to the control flow analyzer.
Ну assert затрекали, скоро и compile time templates сделают!
Это другая проблема.
В данном случае - причина в типе undefined.
Который состоит из единственного значения undefined.
Т.е., сделать его более narrowed просто невозможно.
Если ещё не понятно, то объявление
const b = undefined;
это то же самое, что
const c: undefined = undefined;
И, анон >>58510 был совершенно прав, и действительно зорко разглядел причину, лол.
Хотя, возможно, проблема и та же самая.
Было бы логично, если бы в этом случае (undefined) выдавалась другая ошибка, типа unreachable statement.
> Т.е., сделать его более narrowed просто невозможно
Как ты объясняешь, что if (a && b) работает?
> const c: undefined = undefined;
Ну вот на скриншоте b объявлено как string | undefined и все равно ошибка.
Дубликат того issue с number | undefined:
https://github.com/microsoft/TypeScript/issues/19943
>объявлено как string | undefined
Так функция тоже должна принимать string | undefined, очевидно.
>Как ты объясняешь, что if (a && b) работает?
Да, я согласен, что это (скорее всего) та же проблема, и написал об этом в предыдущем комменте.
> b объявлено как string | undefined и все равно ошибка.
Это, как раз, нормально, т.к. из string и undefined компилятор тут однозначно выбирает undefined. А в случае any позволяет себя наебать.
> Это, как раз, нормально, т.к. из string и undefined компилятор тут однозначно выбирает undefined.
Йех, я заметил это потом, заменил undefined на Date.now() % 2 ? undefined : "", тип стал нужным, но проблема осталась.
const b = undefined as string | undefined;
Дальше решил посмотреть на реакт и на этом мое понимает рухнуло. Немного почитал, глянул пару туторов, в принципе, суть самого реакта мне примерно ясна и пока похоже что это действительно интересная вещь, но я не могу никак пару вещей, например, что за ебанутая структура каталогов, зачем мне пакетные менеджеры(npm или npx) и куда оно мне присрало проект, babelэто только синтаксический сахар как sass или без него реакт не робит?, webpack, node.js. Я не совсем понимаю какое отношение все это имеет к фронту?
Теоретически, можно временно забить на это, просто пока установить под "честное слово" как есть не разбираясь и начать ковырять непосредственно сам реакт, но это напоминает зазубривание и дрочилово без понимания.
Объясните по человечески всю эту структуру что к чему и зачем. С меня тоны нефти.
Поддвачну вопрос пожалуй
Не сочтите за тролленк, но еще почти ничего не понимая в реакте, помимо того, что он позволяет сделать разработку сложных проектов проще, еще мне он показался не много костыльным, хз, мб это субъективно.
>зачем мне пакетные менеджеры
Чтобы было удобно устанавливать библиотеки и фреймворки с которыми ты будешь работать.
>babel
Для того чтобы писать код не заботясь о том, что какой-то древний браузер не поддерживает, например, промисы или fetch. Бабель заменит всё это на полифиллы.
>webpack
Делает из множества твоих файлов и папок что-то более компактное + дополняет их чем-то в зависимости от настроек. В общем, заключительная стадия, которая готовит твой проект к развертыванию на сервере.
>node.js
Делает из JS что-то больше чем прокладку между браузером и HTML, позволяет работать с операционной системой.
>Я не совсем понимаю какое отношение все это имеет к фронту?
Ну, сычуш, время идёт, технологии развиваются, если раньше было достаточно пары html файлов и скриптов написанных в теге script то сейчас всё совсем по-другому.
>но это напоминает зазубривание и дрочилово без понимания.
Так привыйкай, в JS только так и будет, если хочешь понимать, то начинаешь с менее высокоуровневых языков, иначе всё делаешь по описанной тобой схеме.
Как итог create-react-app и всё
Всё это бесполезная херня. Если ты хочешь рубать бабос сразу - надо уметь разбираться в чужом коде, и ебошить на jquery, и код на ванильном js прямо в тег script прямо в html странице. Остальное для прозарплатных хуесосов, которые предпочитают сосать хуй на свои жалкие 120к, ебоша крудохуиту для дяденек, когда господа-фрилансеры 300к в месяц дают им на ротан и пиля под без всяких ебанутых нод и реактов свои проекты. Так то!
Мань, 300к это зарплата реакт макаки на галере притом за гораздо меньший объем чем у анскильной ваниложс макаки
Многие люди задаются такими вопросами.
Вот, например:
WHY JAVASCRIPT DEVELOPMENT IS CRAZY????
Grunt/Gulp npm, require.js, browserify, es6, compilers, transpilers, jasmine mocha chai, react/angular/ember, closures, prototypes. head explodes
https://www.planningforaliens.com/blog/2016/04/11/why-js-development-is-crazy/
Теоретически, можно использовать чистый TypeScript (и tsx), без бабеля и вебпака. Но, судя по вопросам, сейчас тебе это вряд-ли подойдёт.
А потом - для проекта сложнее todo list без вебпака будет сложновато. А если уж ты осилил вебпак, то бабель тоже не страшен.
Решил для общего развития посмотреть JS, и сейчас прохожу курсы на codeacademy. Я часто слышал, что JS - язык общего назначения, видел много вакансий, например тестировщик JS. Правильно ли я понимаю, что это все - про ноду? А то, что я сейчас изучаю - это для веба? И как сильно нода отличается от того JS, который я сейчас учу? Короче, redpill me про js
Мне пока нравится. Конечно отсутствие интерпритатора немного удручает, хочется иногда как в том же пистоне зайти в репл и посмотреть как что работает. но возможно я просто что-то не понимаю
> отсутствие интерпритатора немного удручает
Эм, а как тогда это всё работает по твоему? Браузер и есть интерпритатор, заходишь в консоль и пишешь код или нод можешь поставить.
Ну, да. Я имел ввиду ламповую консолечку
>Правильно ли я понимаю, что это все - про ноду?
Да.
>А то, что я сейчас изучаю - это для веба?
А что ты изучаешь?
>И как сильно нода отличается от того JS, который я сейчас учу?
В браузере есть куча API которых нет в ноде — в первую очередь это DOM, но вообще там миллиарды всего, от акселерометра до VR. Собсна доступ ко всему тому что может браузер.
В ноде всего этого нет, но есть свои API. Например, работа с файловой системой, низкоуровневая работать с сетью, подключение модулей на других языках и т.п. Из коробки нода не умеет в гуи, но есть всякие биндиги к другим либам и системным API.
Алсо есть проекты которые объединяют ноду и какой-нибудь браузерный движок, например Electron. На них можно писать более-менее полноценные десктоп-приложения из коробки.
> Какой смысл ты вкладываешь в слово "костыльный"?
Ну типо этом комбайн, в котором для того, что бы смешать html и js придумали jsx.
> Желательно с примером.
импортирование функции() из другого файла в код через <>.
>>59881
Я чет думал что реакт это библиотека, типо как jquery, подключил, выучил синтаксис и погнал говнокодить.
Так все-таки, что конкретно нужно установить что бы начать ковырять реакт.
Например, этот бабель, он встроен в реакт или работая в vscode нужно ставить еще что токак sass compiller, что будет компилить мой js код в jsx?
js++ это не то, что ты написал. js++ это типизированный js, который был задолго до ts и flowtype.
>отсутствие интерпритатора немного удручает
Node.js это и есть интерпретатор, пишешь node в консоли и вот тебе репл.
Подскажите какую строку поставить вот сюда чтоб она работала? Например лайк первого поста в треде:
let btn = document.querySelector("[value='Войти']");
btn.click();
Код я посмотрел, но никаких кнопок под лайк нет.
А можно написать node --inspect и сидеть не в голом терминале, а в нормальное devtools консоли, с дебаггером.
>импортирование функции() из другого файла в код через <>.
Беру свои слова, в ангуляре так же.
Кстати, что лучше для новичка, ангуляр или реакт? В ангуляре все искаропки идет как я понял?
https://developer.mozilla.org/ru/docs/Web/API/Document/querySelector
Метод querySelector() возвращает первый элемент (Element) документа, который соответствует указанному селектору или группе селекторов.
То есть тебе надо указать селектор элемента кнопки в HTML, обычно это тег элемента и его class.
let btn = document.querySelector("<тег>.<класс>");
Если код не работает, значит селектор ничего не нашел и вернул null.
нахуй ты пытаешся понять все и сразу? это вообще лузовый подход к обучению
Я наоборот начал учить реакт перед изучением чистого жс, еще и немного по ноде разобрался, толком вообще не зная js. Зато теперь все гораздо понятнее и намного легче учить жс. Чувствую что немного наебал систему и это сработало.
Там суть не в этом, я как раз и не понимаю что выбрать в качестве селектора, там вообще нет никаких таких элементов кнопок вроде button.
Не хотелось сюда весь код тащить, вот кусок:
<div id="like-div8761191" class="post__detailpart post__rate post__rate_type_like" title="Мне это нравится">
<svg xmlns="http://www.w3.org/2000/svg" class="post__rate-icon icon"><usexlink:href="#icon__thunder"></use></svg>
<span id="like-count8761191">0</span></div>
Это все что относится к лайкам похоже и что с этим можно сделать чтоб прожать лайк скриптом?
Это нужно написать условие на подобии if (!user){ go to Nahuy} else {res.send(data)}
Бля, лучше потрать время на изучение JS, нахуй тебе эти лайки, болезный? То что ты хочешь делается за пару секунд, но ты ведь даже основ не знаешь.
У контента должен быть id хозяин, если id контента и хозяина совпадают, то запрос на удаление должен быть успешен, если нет, то 403. При этом кнопка удаления должна быть только у владельца контента, поэтому если кто-то пытается удалить чужой, то ты первые 3 попытки игнорируешь, а на 3 блокируешь этого пользователя за подозрительную активность.
Для новичка - лучше Vue.
Там та же идея, что и в ангуляре (mvc, реактивность), но это маленький и простой фреймворк с большими возможностями.
>>60107
>Я чет думал что реакт это библиотека, типо как jquery, подключил, выучил синтаксис и погнал говнокодить.
Это с Vue так можно (и нужно) начинать.
Потом, естественно, захочется большего, и большее там тоже есть.
Официальная докуметация - лучше чем в любом другом фреймворке, есть и на русском.
Да, понял, спасибо. Можно не просто блокировать, а редиректить на страницу с говяжьими анусами.
/Строим сайты всем двачем/
Понял, спасибо анонче
>Бля, лучше потрать время на изучение JS, нахуй тебе эти лайки, болезный? То что ты хочешь делается за пару секунд, но ты ведь даже основ не знаешь.
Ну так и ответь если делается за пару секунд, хуле горишь?
И чем я по твоему занимаюсь как не изучением, это и есть практика.
Во-первых, проверки типов не нужны;
Во-вторых, может ли тс генерить проптайпсы в фреймворк-нейм?
А почему говорят о Реакте в ключе "решает проблему рендеринга...". Разве при обычном AJAX запросе, где нам пришлют информацию, а мы её засунем в div и вставим в документ, будет ререндериться вся страница?
Алсо, в какой-то статейке было указано, что от MVC в реакте только View, а чем тогда логика компонента не контроллер?
Решил вспомнить React после продолжительного времени.
Но ведь так это скорее всего не будет работать?:
let btn = document.querySelector("[id='like-div8761191']");
btn.click();
Я как раз уроки по JS на фоне и смотрю, будь терпеливей няш, мне нужны удачные примеры чтоб от них потом отталкиваться.
Без реакта тебе придётся также по старинке подгружать хтмл для каждого раздела сайта, с реактом у тебя весь основной html загружается сразу, а остальной генерируется на стороне клиента с получением нужных данных в формате json. Делать тоже самое без реакта это значит изобретать велосипед.
Будет, но ты хуйню написал. Неужели сложно посмотреть как работает querySelector? Ну css надо знать.
>Анончики, нормально ли юзать стейт для компоненты вместе с редаксом?
Да
>Пихать все в стор
Омг нет
Ну собственно то же самое делал и Angular JS и делает Angular 2 , просто не так быстро (не всегда) С Vue не работал, но подозреваю, что так же исполняет. Просто вспомнил ситуацию как меня собесили и спросили об особенностях реакта. Я начал рассказывать про реактивное программирование, потоки данных и тд. На меня косо посмотрели и сказали, что он типа рендерит круто и на этом надо остановиться
Ну так это фреймворки одного толка, очевидно, что они делают всё тоже самое.
>спросили об особенностях реакта.
Какие там могут быть особенности? Зависмость от всяких редуксов, аксиосов и другого дерьма, а также изменения которые диктуются не потребностями пользователей, а манямирком смузихлебов.
Правило большого пальца: если время жизни данных должно быть больше времени жизни вьюхи - пихай данные в стор, иначе KISS
Я для ньюфага это писал. Решил не усложнять, лол.
Вообще, строго говоря, mvvm - это то, что у микрософта в wpf.
В остальных случаях этот паттерн правильнее называть MVB - model-view-binder. Ещё такие вещи иногда называют MVVC - model-view-view_controller.
Но, не надо этим заморачиваться.
Не, там же явный диспатч.
ng2 так не делает
Строго говоря, нет.
Redux - это как закат солнца вручную, лол.
Хочется реактивного реакта - есть MobX.
А там и на Vue пересядешь - это будет просто и естественно.
Но, отсутствие реактивности - это не обязательно плохо.
Фанаты реакта считают это достоинством, а реактивные фреймворки - плохими, негодными. Например, Азат Мардан в книге React Quicly пишет об этом. И вообще, есть дохуя постов на тему "как заебись, что в реакте нет реактивности и шаблонов".
И я их понимаю. Чистый JS (TS) код - это прекрасно.
Но, тут такое дело, что надо уметь хорошо программировать, или быстро устанешь от такого счастья.
И ньюфаги таки устают, что и в этом треде заметно, в том числе.
Жиквери ты там учил, а не ваниллу. После ваниллы любой фрейморк грызется как семечки
> true / (new Date)
6.227386527037889e-13
>с реактом у тебя весь основной html загружается сразу, а остальной генерируется на стороне клиента с получением нужных данных в формате json.
Сейчас я распедалю вам за реакт.
С реактом - html генерируется js-кодом на странице.
А делается ли это на основе json-данных с сервера или просто по какой-то жесткой логике - это вообще не важно.
Важно, что он генерируется на месте, а не загружается готовым.
Но, на jQuery же тоже так можно? И на ванильном жс?
Да, можно.
В чём же разница?
Разница в повторном рендеринге (перерисовке).
В реакте будет перерисовано только то, что изменилось. В случае jQuery или ваниллы - будет либо перерисовано всё, либо придётся для каждого случая писать заёбистую кастомную логику перерисовки отдельных частей. А реакт сам определяет, что нужно перерисовать, а что нет.
Но, что интересно, при этом, рендеринг всего куска, всех элементов выполнятеся _всегда_. Т.е. функции рендреринга всех элементов вызываются каждый раз, и рендерится всё дерево реакт-компонентов.
Вот только рендеринг делается в виртуальный DOM (это дешёвая и быстрая операция). А затем в реальный DOM помещаются только те кусочки, которые реально изменились (это дорогая и медленная операция).
Вот в чём смысл реакта - вы можете дёргать функцию перерисовки как угодно часто (дёргать её таки надо руками или редуксом и т.п., оно не само дёргается, как в Vue). Но, реально перерисовываться в реальном DOM будет только то, что изменилось с предыдущего рендеринга (в виртуальный DOM).
Ну так получилось, ну чего ты, жаваскрипт же быстрый
???
Где я писал про "попытки оптимизировать"?
Я изложил именно эссенцию реакта для ньюфагов.
Это виртуальный дом и алгоритм детектирования изменений.
Потому, что иначе смысл теряется за множеством деталей.
Так же, как для Vue - эссенция - это шаблоны и реактивность (автоматическая реакция на изменения в модели).
>Вот в чём смысл реакта - вы можете дёргать функцию перерисовки как угодно часто ... Но, реально перерисовываться в реальном DOM будет только то, что изменилось с предыдущего рендеринга
Эссенция реакта - это декларативные шаблончики вместо императивной ванила/jquery дрисни. Все остальное - это детали имплементации
Нет.
Там вообще нет шаблонов.
Там есть чистый JS-код, и ничего, кроме кода.
JSX - это не шаблоны.
И, тем более, JSX это не эссенция реакта, и даже не его неотъемлемая часть. Ты, хотя-бы, официальный сайт почитай.
JSX - это просто синтаксический сахар для JS.
И да, JSX можно использовать и в Vue тоже, но, так мало кто делает, дам другая идеология.
И, если надо, его можно прикрутить и к jQuery.
Но, ни Vue, ни jQuery не превратятся от этого в реакт.
Шаблоны - это Vue и Angular.
Knockout ещё. Или JsRender и JsViews. И многое другое.
Но, не реакт.
>funny tag syntax
>may remind you of a template language
То что это не html строка не значит что это не шаблон.
Какая во вью другая идеология? Приложение это не дерево декларативных компонентов?
В билде ангуляра нет шаблонов, значит и в ангуляре тоже нет шаблонов?
Бля, ну там же даже условие можно не читать, из тестов все понятно
Вот это я даун, спасибо, я пробовал 0 передавать, с нулем не работало
Тебе даже в условии сказали чем пользоваться, хули тупой то такой?
Да хуй знает, вроде тупым себя не считал раньше зря и в школке\универе математика нормально давалась. Это придет с опытом? Вы же все вначале тупили над самыми простыми задачами? Или мне до конца дней на говноработе торчать?
Придет с опытом
Ты не очень понимаешь, что такое идеология.
И что такое шаблон.
Но, зато, знаешь, что jquery - это дрисня.
Очень знакомая картина, к сожалению.
И что?
Идеология реакта в том, что он позволяет делать пользовательский интерфейс?
Охуенно.
А все остальные охулиард жс-фреймворков, они для чего?
Если ты кроме jsx в реакте ничего не увидел, я советую тебе начать использовать vue - получишь массу кайфа, я гарантирую это.
А реакт забудешь, как страшный сон.
А-а-а, блядь, дошло, сука.
Там BLM баннер сверху, лол.
Да, с идеологией там всё в порядке.
Им уже историю КПСС пора начинать учить.
Этот чел занимался организацией международной конференции по PHP осенью 2019, а потом объявил о её отмене, потому, что они решили, что нехорошо будет проводить конференицию, на которую ни одна женщина не подала заявку, это будет сексизм.
>В реакте будет перерисовано только то, что изменилось
Да только в тудушках и каунтерах, если чуть сложнее все пизда
Если без Стейт менеджера ебашить и все в хуках и контекстах держать разве что
alert (clipTxt);
Сначала эта вставка из буфера работала нормально, только разрешения браузер спросил, теперь алерт возвращает [object Promise], почему так происходит?
Какого хера когда ты после своих экспериментов отменяешь все ctrlZ это перестает работать нормально?
Вот так работает:
navigator.clipboard.readText()
.then(clipTxt => {
alert(clipTxt);
});
А почему в первом примере сначала работало, а потом пошел [object Promise], хочу понять.
>Сначала
Это когда было? В нетскейп навигаторе?
https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/readText
Возвращает промис который резолвится в DOMString
Не знаю что у тебя там работало, но если ты не использовал then или await, то результат всегда был [object Promise]
>но если ты не использовал then или await, то результат всегда был [object Promise]
Ясно, спасибо :3
Сюду
Нет ты
В пистоне и операторы переопределять можно, а тут только флоаты. Хотя вот BigInt уже 83% на caniuse...
Ну ещё костылей добавится, не привыкать.
А Redux Toolkit?
Если разные - сядь на бутылку. Если одинаковые - встань.
Написал приложуху типа плеера, но нужно прикрутить реализацию функции автоплея.
Проблема в том, что весь плеер написан кастомно на жс, и тегами audio там даже не пахнет, что не дает реализовать это дело в виде <audio autoplay></audio>.
Получается нужно на жс реализовать эту функцию, но тут я просто нереально туплю, ничего не помогает на онлоуде ничего не происходит.
Мадам на пике - для привлечения внимания.
На гитхаб, конечно
>Хочу что бы при загрузке страницы песня начаинала играть, а не нужно было нажимать плей.
Ты же понимаешь, что за такое, не только обоссут, но и насрут в глотку?
Да я не для коммерческих целей
Да
Допустим есть css класс .load-case как сделать так чтобы при добавлении на страницу элемента с подобным классом на него всегда вешался определенный EventHandler onclick? Чтобы вручную его каждый раз не вешать
MutationObserver
event delegation
адовыйэвенковыйлиственник
Вот есть сайт, который показывает разные айтемы, каждый айтем отрисовывается со своим id
Есть 2 кнопки, которые меняют язык, и изменяют дефолтный url на website.com/items/id&ru, с которого потом айтем забирает данный с соответствующим языком
Это нормально передавать каждому айтему значение language: ru/eng, которое по сути будет одно для всего приложения? Нет ничего плохого в том, что у каждого айтема будет дополнительный пропс, который по сути будет почти всегда неизменным или это хуевая практика?
Или нужно как-то передать это значение только в сервис-функцию отвечающую за получение данных? Я просто еще учусь, и такого не делал. Это что-то вроде передачи контекста, но который будет работать не внутри JSX? Как такое реализовать?
>или это хуевая практика?
Да. Максимум айтем может хранить в себе локализированные значения, если это нельзя их получать каким-то общим кодом. Дальше делаешь сервис, который имеет настройку языка и умеет в зависимости от её значения локализировать значение айтема, и пихаешь его как фильтр в рендере айтема. Если ещё надо читать локализованные значения, то это ещё дополнительная функция этого сервиса.
> toJSON у объектов
Найди мне его у BigInt, клоун
> про второй аргумент в JSON.parse
Может тебе рассказать, что, во-первых, он предназначен для фильтрации, а во-вторых, с её помощью BigInt ты максимум в строку завернешь, тем самым проебешь тип и жидко пукнешь на десериализации
Это где такую дичь пишут?
Sparse array это немножко другое, они изначально такие.
А про термин "дырявый", в таком контексте, впервые слышу, страна-зона, лол.
Удаление элемента из середины массива это разбиение этого массива на две части и конкатенация этих двух частей в месте удаления. Т. е. по итогу у тебя получается всё тот же плотный или упакованный массив.
Вот и гадай теперь что там автор себе нафантазировал. Типа [2,2,3,null,5,6] у него дырявый массив? Но нет, это обычный массив с разными типами данных.
Нет не любое, присмотрись к выводу, даун.
А, блядь, n не заметил.
В итоге любая строка с цифрой за которой следует n у тебя будет конвертироваться в BigInt. Охуенно.
toJSON
> /\d+n/.test(i)
Ну я ж говорил, что тип проебешь. Теперь у тебя любая строка такого вида будет конвертироваться в BigInt при парсе, что забажит код, в случаях когда кто-нибудь введет в текстовое поле строку попадающую под эту регулярку
У тебя структыра объектов в системе от балды прилетает или типы проектируются на этапе разработки, мань? Что значит любая строка? Выбери блядь такой шаблон, который не будет создавать коллизий. Вы блядь тут совсем ахуели что ли?
Он прав. Это просто пример. В реале надо делать свой формат.
И мне теперь понятно, почему они не сделали стандартную реализацию toJSON() в BigInt (я вообще не джаваскриптер, и про BigInt в JS узнал только сегодня, лол).
Я что-то подобное с датами делал, кстати, в своё время.
>Где у тебя слой валидации?
Стоит после парса. И бракует объекты, которые криво распарсились
Ваш ход, мистер клоун
Формально JSON позволяет писать числа с любым количеством знаков, но на практике парсер может их не прочитать
>Куда введет?
В текстовое поле введет. Напишет какой-нибудь { textMessage: '111n' }. Никакой валидацией ввода ты это не запретишь
Пиши ещё.
Просто регулярку нормальную напиши, дауненок. Много вас таких "да у меня всё на этапе разработки проектируется" оттаяло, потом срут в штанишки виня других высерами "так нужно было всю документацию изучать прежде чем строки отправлять вида "My nickname is 2D3N""
>в моём посте: "My nickname is 2d3n"
>у долбоеба: "My nickname is 2D3N"
Разницу, ты её видишь, ублюдок?
Я имел в виду формат (тэг) для BigInt - трудно выбрать такой, который бы всех устроил априори.
К-во знаков - из этой же оперы - оно будет разное для разных применений, можно разделить на части и т.п.
@
САМЫЙ МОДНЫЙ ЯЗЫК ТРЕД
@
МАКАКИ КИДАЮТСЯ ЖСОННЫМ ГОВНОМ МАМОНТА
1280x720, 1:50
Или достаточно хуков и асинхронных функций?
Возможно я неправильно понимаю фичи этих саг, но кажется что они полезны были когда async/await синтаксиса ещё не было.
Да, ты.
Блядь, я все равно не понимаю, каким образом можно передать стейт из App в функцию, которая не является react компонентом. Типа чтобы я просто поменял одну сранную переменную с en на ru в url в файле, который потом будет подгружаться и раздавать данные с соответсвтующим id вообще всему приложению. Возможно я не знаю какого-то очевидного шаблона, который для таких дел используется. Саму локализацию хранить в стейте мне не нужно, все что отрисовывается, приходит уже локализованным если в url будет указан нужный язык
Т.е. просто вместе с id я бы запросто мог передать language={this.state.language} но делать это, при том, что этот параметр устанавливается глобально, это какой-то долбоебизм. А как это сделать по другому я все равно не пойму, даже если через контекст передать эту хуйню сразу в сервис, все равно логика будет та же самая, просто пропсдрил убирается. Короче реквестирую гайдов по локализации приложения, когда у тебя доступ к данным вынесен в отдельный сервисс и вся локализация приходит с бека
Microsoft has announced that its apps and services will stop supporting Internet Explorer 11 on August 17, 2021
> передать стейт из App
Положи стейт в редукс, или в Контекст, хуками потом забирай из любого компонента, а ты че думал, глобальные функции еще захотел, может тебе еще и модальные окна захочится из любого места вызывать
> каждому айтему значение language: ru/eng, которое по сути будет одно для всего приложения?
В реакте доходит до того, что парент должен передавать проп show для модального окна, то есть модальное окно должно сказать паренту через колбек чтоб он его закрыл блять
Не закрыл, а "тут на кнопку нажали, сделай что-нибудь. Или не делай, мне похуй"
Сафари (десктопный) - охуенно приятный в использовании браузер.
Из претензий - закладки сделаны совершенно по-блядски. Но, это, пожалуй, и всё.
И там классный просмотр DOM и вообще developer tools.
Маки, правда, не у всех есть, лол.
>глобальные функции еще захотел
Ну, глобальные синглетоны не помешали бы.
В принципе - кто мешает на window посадить хуитку, которая бы шевелила модальными окнами, например?
А антипаттерны и best practices violation - да в рот их ебать, практичный (и практический) код - всегда грязный.
Вот было бы охуенно, если бы каждый браузер еще на своем языке сайты читал бы, ммм... кросбраузерная верстка, кроссбраузерный код на 4х языках, у каждого браузера свой стандарт стилей... интернет который мы потеряли
>ingineering
engineering.
Фонетическая опечатка, раньше только слышал про такое, а в последнее время сам начал регулярно делать, лол.
>у каждого браузера свой стандарт стилей
Так-то лиса шароёбилась все 60-начало 80-х релизы, может и сейчас что-то по-другому рендерится Веб движок был буквально на днях слит в попенсорс, если что
Нравится верстать и хотелось бы хоть как то двигаться в этом направлении дальше.
Посмотрел видеоуроки, ангуляр мне он показался более собранным и цельным, как приятный бонус там все для начала работы с ним идет искаропки в отличии от реакта, и в целом, мне показалось что наговнокодить там меньше вероятность чем на реакте.
Для ангуляра нужно знать TS, для TS нужно знать ООП. Т. е. порог вхождения намного выше, чем в среакт. Да, в среакте всё слеплено в кучу, но и знаний от тебя требуется чуть меньше чем нихуя.
Ангуляр можно выбрать только если у тебя есть бэкграунд из ООП языка, например Java, C#,С++
Без таланта к программированию - только Vue.
Это, кстати, и плюс и минус Vue, что делать на нём работающие вещи может быстро начать вообще кто угодно.
Реакт - суровая вещь, тут даже говорить не о чем.
А Ангуляр - для не-программиста тоже не годен, слишком много всего, и без понимания мотиваций, по которым всю эту хуету туда навертели, ловить там нечего.
>но и знаний от тебя требуется чуть меньше чем нихуя
Да вообще ничего не надо знать.
Надо просто очень хорошо уметь программировать.
Но, это же хуйня, любой сможет.
Да, в сравнении с Ангуляром твой реакт это всё равно что таблицу умножения выучить.
>>61561
Кстати, знаю чувака (заочно), который вкатился в вёрстку, когда ему было под 30. До этого работал инженером на заводе. Не айтишник вообще.
А потом он освоил Vue.
Сейчас вполне успешно что-то ковыряет в какой-то московской рекламной конторе. Не за 300 к, разумеется, но, всяко лучше, чем на заводе.
Ну, если тебе каунтер или туду написать, то да.
А вот если написать то же, что пишут на ангуляре, то ...
Скажи, а ты на работе занимаешься Ангуляром или изучаешь пока?
Если на работе - что люди говорят о перспективах?
У меня (и не только у меня) такое впечатление, что это реально мощный фреймворк, но, его слишком долго рожали. Видимо, Гугол, всё же, имеет планы заменить им GWT, потому и навернули туда всего не по-детски. И немножко увлеклись, и проебали тренды.
Опоздали на год-другой.
Короче - не станет ли Ангуляр нишевым фреймворком, подобным GWT?
Ну хорошо.
Давай я тебе докажу, что флеш лучше.
Во-первых, флеш - это свф-файлы, что позволяет иметь файл и делать многое. А ещё его можно сохранить на компьютере. Все. Это делает флеш лучше, чем хтмл5.
Нет, парень, идеология реакта - это то, что нужно быть сойбоем, куколдом и, конечно же, коммунякой да и похуй, че реакт развивается с поддержкой корпораций, все равно они все паганые эти корпорвции, ага. И интерфейсы пользовательские тут не причем :))) Вот такая вот "охуенная" идеология у этого дерьма. Понимаешь, какие его терпилоиды разрабатывают? То-то же. В итоге, сообщество у этого ЫНЬструмента +/- такое же, по крайней мере, на западе.
Ангуляр незаменим в крупных проектах, потому что единственный из подобных построен с использованием TS и адекватной ООП архитектуры. TS обретает популярность, ангуляр постоянно развивается и на втором месте по популярности после React'a. Не вижу причин для того чтобы он стал вторым GWT.
Увы и ах.
Правда, замечаю, что эти баннеры себе поцепили только "модные" технологии, такие как реакт, вью, гугл на сайте с доками по ведру. Короче, "весело" нах.
Да это везде, и суть в том, что большинство, если не все эти компании, находятся в США, а значит в компаниях работают и черные тоже, и если ты не вывесил у себя на глагне баннер с BLM, то считай расписался в рассизме, хуизме и т.д. А хеккам похуй, мода на модные кричалки пройдет, а твой говнокод напильником будут допиливать еще миллиарды лет
Но, круче всех политику партии проводит RxJS.
Там баннер на всю страницу огромными буквами:
https://rxjs-dev.firebaseapp.com/
Причём, у них, среди показанных на сайте девелоперов - все белые.
И, видимо, им очень стыдно за это.
Вместо баннеров - наняли бы лучше негров половину, те бы их научили, как надо родину любить.
>>61594
Я, когда писал "не станет ли он подобным GWT", имел в виду _нынешнее_ состояние GWT, и получилось двусмысленно.
Вообще, если бы он стал "современным GWT" это было бы хорошо.
Потому, что реально хуй знает вообще на чём писать для энтерпрайза.
И, по-факту, он так и позиционируется.
Только вот, говорят, что сам Гугол в своих проектах, типа Gmail, продолжает использовать GWT.
При этом они как-то лихорадочно пилят Ангуляр, релиз за релизом, люди книги издавать не успевают, лол. Видимо, считают, что ещё не запилили то, что нужно.
Есть ещё есть серьёзная проблема с поддержкой IE-11. Сейчас они её сильно ухудшили (в плане оптимизаций), хотя, пока и не дропнули, но, обещают дропнуть в 11-й версии.
Долбоёбы со смузи на гироскутерах кричат "это нахуй не нужно", не понимая, что условный "энтерпрайз" на IE-11 ещё долго будет сидеть - из-за Java апплетов и некоторых других нюансов.
И, если разработчики Ангуляра дропнут IE 11, то тогда они точно соснут хуйца по всем направлениям. Потому, что хипстеры будут на реакте, а энтерпрайз - на реакте и на Vue.
UPD:
Гугол таки использует Ангуляр, и весьма активно:
https://www.madewithangular.com/categories/google/
Но, как можно заметить, Gmail там нет.
Это хорошо что его там нет, потому что Gmail это говно как в плане интерфейса, так и в плане производительности.
>Это хорошо что его там нет, потому что Gmail это говно как в плане интерфейса
Ты скозал?
Жаль, что сами Google и другие сторонние разработчики так не думают.
Пчел на ютубе полно циган, посмотри хотя бы минина, у него контент для таких как ты
Цыган на цыпочках цыкнул цыплёнку цыц, ёба
string.match(RegExp(variable, "g")) Только не забывай про управляющие символы
>>61553
Я не понимаю, вы на подлодной лодке верстаете?
https://killedbygoogle.com/
Ангуляр dead в декабре 2021, всё. Нахуй вы мёртвое говно учите?
Как будто васяностатистика может что-то значить
В реакт с экспресом порога вхождения практически нет. Понятно, что кручение одного дерева массам зайдёт больше оопшных паттернов с реактивщиной
Рейтинг nw.js тоже забавляет. Точно такое же вебкит-нодовый бандл, как и электрон, только чуть больше ориентированный на клиент сайд без сторонних ipc, но електрон стильно-модно, поэтому нвжс неочень, лол. С кордовой и иоником к реакт нативу то же самое
Какие-то циферки в оценки елма\кложи\пьюра еще смешнее. Ты или можешь в это и реализуешь, или тебе это не нужно и хули ты вообще какие-то оценки ставишь
А дынные ты наверное через контекст пихаешь?
Пчел, АнгулярЖС и Ангуляр - это два очень разных ангуляра.
Реакт чуть более чем полностью состоит из контр-интуитивной хуиты и удаления гланд через жопу.
Это забавно, но, работать с этим - ну его нахй.
Реакт-натив - тупая и тормозная хуйня.
Во всё это в последние 5 лет вложены миллионы долларов, и поэтому всё это крутится.
Мыши колются, плачут, но продолжают жрать кактус.
Но, в некотором будущем предвижу победу здравого смысла, Vue и NativeScript.
Вуепидоры все свои сектантские мантры повторяют. Уже сто раз говорили что вуе хорош в маленьких приложениях. А в гигантах реакт лучше
Долбоеб вкатун, ты вообще гуглом умеешь пользоваться? Хоть бы прочитал суть технологии, которую постишь.
Простота в вуе переходит из разряда фичи в разряд безфункционального говна чем больше приложение. Это факт. Просто ты макака у которой не хватает мозгов для того чтоб писать на реакте
>безфункционального
Какой смысл ты вкладываешь в это слово?
Vue очень функциональная (практичная) вещь.
Какие именно особенности Vue не дают тебе структурировать код?
Единственное, что приходит в голову - простыни single file components. Это не очень хорошо, но, они уйдут в Vue 3.
И даже сейчас можно разбивать компонент на части легко - это просто plain js object.
Алсо, мешанина кода в рендер-функциях в реакте сильно хуже, на мой взгляд. А wrapper hell - это реальный пиздец.
Ещё пример: создатель реакта - Facebook - использует пыху.
Значит ли это, что джава, например, не нужна, и в гигантских проектах пыха рулит?
Сразу видно что о реакте ты знаешь из статей why vue is better than react а не реального опыта
Ну, каунтер и туду я сделал, лол.
Вполне хватило, чтобы понять, что в жизни есть более интересные вещи, чем работать вместо компьютера. Лень - высшая доблесть программиста, а реакт - точно не для ленивых.
Понимаешь, я довольно давно всем этим занимаюсь, и уже выработалась интуиция. Так вот, реакт - это хорошая, годная иллюзия.
Молодец. Ты написал каунтер и туду и понял что вуе для этих целей лучше. Собственно то с чем никто и не спорит.
Вообще-то, впечатление сложилось такое, что каунтер и туду - это предел для вменяемого кода на реакте. Дальше сложность становится совершенно неинтересной. Фреймворк, который сам стреляет тебе в ногу - не нужен.
Тут надо пояснить, что меня интересует применение в проектах с большим к-вом данных. Т.н. "энтерпрайз", и реакт, с его подходами, для этого дела не годен вообще.
я попробовал PHP, Wordpress, JAVA и теперь JS
Ретроспективу делал?
>Какие именно особенности Vue не дают тебе структурировать код
>разбивать компонент на части легко - это просто plain js object
Ну так вся хуесосность вуя и заключаются в его рвание виртуал домового дерева в велосипед для макак из темплейтов и плейн объектов, лол
Нет, я правда не понимаю что сложного в реакте. Там очень понятная модель — весь твой апп это функция, которая принимает стейт и возвращает интерфейс. Меняешь стейт, меняется и интерфейс. Однонаправленный поток данных. Везде чистые сериализуемые JS-объекты, никакой магии с обсерверами и прокси. Не самая производительная либа, конечно, но концептуальная очень простая.
>рвание виртуал домового дерева в велосипед для макак из темплейтов и плейн объектов,
Ну, если это не хуйня, то, я даже и не знаю, что сказать.
Это не ты выше писал, что "Эссенция реакта - это декларативные шаблончики вместо императивной ванила/jquery дрисни" (>>60562) ?
Ты кроме реакта в этой жизни видел вообще что-нибудь?
Да, концептуально реакт охуенен.
Я об этом уже писал (>>61506).
Только вот концептуально чистые вещи, как правило, непрактичны и очень затратны в реальных применениях. На лисп посмотри, например.
И реакт уже обмазали кучей слоёв говна, пытаясь добавить практичности. Паттерны, антипаттерны, HOC, хуки, контексты, хуета растёт как снежный ком.
Набери в гугле "how to reduce redux boilerplate" - и охуей.
И причем тут релакс и реакт? Можешь использовать любой другой стейт менеджер. И редакс с хуками топ
Я тебе пишу в контексте сравнения вуя с реактом
Подумай как выстраивается вдом в первом и во втором
На самом деле - это всё бессмысленный спор.
Разные инструменты - для разных задач и обстоятельств.
Правильнее будет сказать, что реакт - не очень подходящее решение, если ты не фулл-тайм фронтендер, и тебе нужно делать интерфейс с кучей данных, таблиц, модальных форм и т.п.
На Vue это делается менее затратно, и более интуитивно (т.е., опять таки, меньше затраты на переключение контекстов в голове).
Вот, очень познавательное чтение (включая комменты):
https://about.gitlab.com/blog/2016/10/20/why-we-chose-vue/
>И редакс с хуками топ
Да, это именно так.
Если уж что-то делать на реакте, то именно таким образом.
Ты задвинул аргумент в духе "на си пишут макаки, а настоящие мужики - только на ассемблере".
Такое много писали лет 20+ назад.
>Правильнее будет сказать, что реакт - не очень подходящее решение, если ты не фулл-тайм фронтендер, и тебе нужно делать интерфейс с кучей данных, таблиц, модальных форм и т.п.
>На Vue это делается менее затратно, и более интуитивно (т.е., опять таки, меньше затраты на переключение контекстов в голове).
>With JQuery, we had about 30 or so lines of code to propagate those changes, and those lines involved multiple classes and querying the DOM by hand.
Охуенные выводы с охуенными аргументами. Спасибо братишка покушали всем тредом
Ты просто дурачок, и тебе нечего сказать.
>jQuery
Это сейчас такое страшное зашкаварное слово у малолетних долбоёбов?
Типа сказал "jQuery" - и всё, пиздец?
Ты похоже не понимаешь что реактовые компоненты полностью гомоиконируются в вдом и чем это отличается от вуя, лол
> никакой магии с обсерверами и прокси.
Тоесть для тебя концептуально понятно что парент передает show модальному окну, и когда юзер его закрыл это окно должно сказать паренту чтоб тот поменял ему show на false иначе само не закроется, а второй колбек будет onHide который скажет патенту что вот у меня АНИМАЦИЯ закрытия уже закончилась давай уже show = false делай позязя, иначе на следующем рендере опять появлюсь
Я не говорю даже про то чтобы просто есть таблица и надо сказать ей типа выдели программно строку номер 30, парент еще должен следить че там юзер навыделял в таблице, метода selectRow не завезли как в нормальных ООП
О каких "компонентах" ты говоришь?
В современном реакте "компоненты" - это (в основном) просто рендер-функции.
Куда они там у тебя там "гомоиконируются", лол?
Ты кстати, знаешь, что значит это слово?
Может быть ты имел в виду элементы, которые создаются через React.createElement() - явно или через JSX?
Ну, так в реакте они создаются так, а в Vue иначе (через шаблон), и что?
Это ты, похоже, не понял смысла аналогии с си и ассемблером.
>В современном реакте "компоненты" - это (в основном) просто рендер-функции.
>Куда они там у тебя там "гомоиконируются", лол?
Похоже, что ты вообще не понимаешь смысла слов, которые используешь.
>Может быть ты имел в виду элементы, которые создаются через >React.createElement() - явно или через JSX?
>Ну, так в реакте они создаются так, а в Vue иначе (через шаблон), и что?
>Это ты, похоже, не понял смысла аналогии с си и ассемблером.
Ты какую-то хуйню написал.
>метода selectRow
Ну, это уже совсем не про реакт.
Компоненты в реакте - это немножко не компоненты.
Также, как реакт немножко не реактивен.
Такие вот смысловые галлюцинации, и их там чуть более, чем дохуя, и это очень утомляет, кстати.
Тебе стоит получше узнать твой реакт.
Бляяя ты же абсолютно не разбираешься в вопросе. Остановись, а то знающие люди кринжевать будут
>кринжевать
Бля, ёбаные, сука, миллениалы-зумерки, как же вы заебали со своим смузи.
Ты сказать-то что хотел?
Увидел ошибку в моих рассуждениях - пруфани, чотко и дерзко.
>миллениалы-зумерки
Даун, ты сам, небось, милениал, или даже младше. Слова используешь, а значения не знаешь.
1. берем сумму массива и делим ее на 2( если число дробное, округляем вниз
2. Полученно число нужна набрать числами из массива ( удаляя их оттуда) . Тут я еще не придумал как
3. Все, что останется войдет в 2 сет
На, почитай: https://ru.wikipedia.org/wiki/Гомоиконичность
Потом попробуй объяснить, при чём тут реакт и виртуальный дом.
Слово "кринж" и производные от него употребляют миллениалы и зумеры, что тут непонятного?
Зумеры - это следующая итерация миллениалов.
Последнее, что я хотел бы услышать - это зажизнь от чмохена, который в 40+ торчит на бордах.
Тоже проиграл с этого.
Ну, если тебя и правда интересует, зачем я сюда зашёл, то всё просто.
Чтобы посмотреть современные тренды.
Я ненадолго, не ссы.
Ну я и не ожидал что ты поймёшь гомоиконное отношение реакт компонента к реакт вдому если ты не понимаешь сути реакт компонента и реакт вдома, лол
html это скелет - dom структура
js - это мясо которое ты насаживаешь на этот скилет, ты не можешь написать страничку на одном джс, это будет просто куча мяса которая будет валяться на земле, ее не начто насадить будет
Я имел в виду с минимумом html, чтобы было только body и канвас какой-нибудь, и там уже все js отрисовывалось.
Ну да, испльзуешь модальное окно, давай терь в каждом паренте копируй логику закрытия этого окна, а хуле, а если неправильно хакодируешь, то это окно будет так и висеть, или без анимации исчезнет
осьминог это фреймворк, мясо которое плавает в нативном жс (бесконечное море) натянутое на скелет (планета земля)
Ты быстро устанешь.
И производительность будет очень низкая, т.е. твои пользователи тоже быстро устанут.
Снова вопрос из серии "почему не на ассемблере, это же круто, зачем усложнять?".
Это нормальный вопрос для ньюфага, кстати.
нахуй вообще такие философкие вопросы?
Иди те как с ними нахуй, программисты задают четкие вопросы, что бы получить четкий ответы.
За такое у нас на работе вам бы ебало разбили
Зачем мне это набирать? Я на реакте писал еще когда редакса не было и прекрасно знаю какие там проблемы и как уменьшить бойлерплейт.
Я так и не понял в чем сложность. Хок это функция. Хук тоже. Функции это сложно что ли? Контекст просто удобный способ передачи данных, который прекрасно укладывает в принципы реакта.
>>61994
Да, для меня это все понятно и прозрачно. Стейт с информацией о том что окно открыто должен где-то хранится и я искренне не понимаю что тебя смущает. Можно, кстати, сделать неконтролируемую модалку (т.е. хранить стейт в DOM по сути), но это не очень удобно и попахивает jQuery. Алсо, твой реализация какая-то странная, вполне можно обойтись одним пропом без всяких коллбеков и запихать всю анимацию внутрь компонента.
>>62001
Что значит «сказать выдели строку»? Выделенная строка это состояние. Хранить состояние это сложно? Рекомендую useState.
Сортируешь массив
Находишь сумму чисел массива, при этом каждое значение добавляешь в словарь в виде ключа и значения, значением будет массив индексов по которым встречается данное значение массива, а ключом само значение.
Далее из исходного массива убираешь по одному элементу и добавляешь в новый массив, при этом вычитая значение из суммы. Так до тех пор пока сумма не будет меньше или равна сумма/2.
По окончании у тебя будут суммы первого и второго массивов.
Вычитаешь из наибольшего наименьшее и смотришь в словарь, если в нём есть данное значение, то проверяешь индексы, если индекс больше длинна массива/2, значит элемент находится во втором массиве, если меньше, значит в первом. Исходя из этого либо помещаешь из наибольшего массива данное число в наименьший, либо разбиваешь данное число на слагаемые и проверяешь их наличие в массиве сумма которого больше наименьшего, если находишь, то перемещаешь их в наименьший массив.
Под дурачка решил закосить?
OK.
> т.е. хранить стейт в DOM по сути
В хуём, блядь, по хуюти.
В js-объекте-модели стейт хранить. Как в Vue и Anuglar.
Совсем уже пизданулись со своим реактом, лол.
>Попахивает jQuery
Всё понятно с тобой.
> Выделенная строка это состояние.
Но в реате тебе придется передавать эту выделенную строку из парента на каждый рендер блять как проп, это только шизо функцианальщик может до такого додуматься
Чому же не делают? Делают. https://makepad.dev например.
Заебно просто переизобретать флексы, инпуты и скроллбары, а нормальных либ не завезли пока.
>>62116
Это неправда, Реакт рендерит абстрактный VDOM, рисовать его можно во что угодно.
>>62117
>И производительность будет очень низкая, т.е. твои пользователи тоже быстро устанут.
Это тоже неправда. WebGL очень производительный, а DOM, напротив, крайне неэффективен.
Зачем строку-то передавать? Передаешь строке isSelected. В чем конкретно ты видишь проблему?
Оптимизация:
Создаем словарь индексов-значений для каждого из массивов. Элементы от 0 до длинна массива/2 будут составлять словарь для первого массива, остальные элементы будут составлять словарь второго массива.
Будет легче сбалансировать массивы.
Еще забыл в заключительной стадии. Если полное равенство не достигнуто, то нужно попробовать прибавить первый элемент наибольшего массива (это будет самым наименьшим его элементом) к наименьшему, и так до тех пор пока наибольший максимально не приблизится по сумме к наименьшему.
В каждой строке должен быть флаг isSelected?
Это не слишком? Или это React-way?
Обычно делают selectedItem (в нём ключ строки) или массив выбранных.
>Передаешь строке isSelected.
Почему парента вобще должно ебать что есть какието строки и у них есть isSelected, парент знает что у него есть таблица, таблица, выдели мне строку мне похуй как, и выдели один раз, а не на каждый рендер
Вне зависимости от фреймворка тебе придется где-то хранить состояние говорящее о том, что модалка уже не нужна и можно анимировать закрытие, но убирать из DOM ее пока рано.
Спасибо. Сейчас буду пробовать.
У тебя таблица не должна знать какие строки в ней сейчас выделены? Интересная архитектура, конечно.
>выдели один раз, а не на каждый рендер
Что это значит вообще? DOM в любом случае изменится только один раз только в этой строке.
>У тебя таблица не должна знать какие строки в ней сейчас выделены?
Я говорю про родителя в котором сидит таблица, родитель чета посчитал и должен сказать таблице выделить конкретную строку один раз
>В каждой строке должен быть флаг isSelected?
Эээ? Если ты хочешь чтобы у каждой строки была возможность быть выбранной, то, вероятно, да.
>Это не слишком? Или это React-way?
Что конкретно для тебя слишком? Боишься разориться на приведении строки к булевому?
>Обычно делают selectedItem (в нём ключ строки) или массив выбранных.
Разумеется, но строке не обязательно знать какие там еще айтемы выбраны.
Если модель таблицы содержит ее родитель, то он просто передает ей обновленный selectedItem(s).
>Если ты хочешь чтобы у каждой строки была возможность быть выбранной, то, вероятно, да.
А потом
Highlight row in one react table is highlighting the same row in a second one on the page
https://stackoverflow.com/questions/54300807/highlight-row-in-one-react-table-is-highlighting-the-same-row-in-a-second-one-on
> модель таблицы содержит ее родитель
Нахуй родителю модель таблицы, ну это просто шизофрения, а родителю родителя может тоже надо модель таблицы знать
Если родителю неинтересна модель таблица, то нафига он с ней производит какие-то манипуляции вроде выделения строк?
>>62048
Вроде сделал, но не получилось, потому что суммы могут оказаться с элементами которые в массиве не линейно разбросаны. Типа сумма второго элемента и последнего равна искомой, и остальной массив тоже равен но таким перебором так не найдешь. Криво объяснил наверное. Сейчас буду пробовать алгоритм другого анона.
>какие-то манипуляции вроде выделения строк?
Сравнил СТРОКУ и МОДЕЛЬ ТАБЛИЦЫ, у любой таблицы есть строки, а модели у каждой свои
Третий день сижу и нихуя не понятно. Рякт куда проще.
Я понятия не имею что там за ReactTable и какое он имеет отношение к разговору.
>нафига он с ней производит какие-то манипуляции вроде выделения строк?
Ну вот надо выделить предыдущую строку, или первую, или последнюю
Чувак, я не знаю, что ты пишешь на реакте, но, это точно не бизнес-софт.
Таблицы с данными - совершенно не твоя тема, это видно по тому, что ты просто не понимаешь о чём речь.
Ничего плохого в этом нет, разумеется.
Но, продолжать разговор на эту тему с тобой мне не интересно.
>Поднимаем стейт наверх или делаем из таблицы контейнер с renderProps
А теперь таблицы здорового человека, не курильщика
http://w2ui.com/web/docs/1.5/w2grid.select
Ну так вот до чего доводит функцианальная шиза, как вы там без ООП потомки, все стейт в парент передаете?
Например, так:
https://github.com/dfcook/vue-webpack4-template/tree/master/build
Выделено общее в базовый файл + webpack-merge в dev и prod.
Скажи спасибо, что не нан.
Есть кто недавно начал JS изучать?
Как успехи, какой бекграунд, может даже уже устроились куда-то?
Спасибо.
https://ru.svelte.dev/tutorial/derived-stores
$ и с rxjs работает. В ангуляре через asyncpipe, насколько помню.
Зачем учить какой-то не востребованный фреймворк в принципе?
В том плане что это знание использовать на практике не будешь, но потратишь время на чепуху.
Как называются окна браузера, которые открываются при клике по ссылке? То есть открывается не новая вкладка, а новое окно, но обрезанное, в нем нет элементов управления вперед и назад. Часто такие окна бывают с рекламой.
Вот пример такого окна
Вот сейчас например пилю свой проект на реакте, чтобы обучаться, сделал получение данных с сервера, зашел в апишку, посмотрел как там работает поиск, запилил поиск на сайте, сделал так, чтобы поиск даже работал через секунду после остановки ввода, а не сразу. Сделал переключение языка на сайте. В какой момент нужно понять, что я что-то умею? А то так ведь что угодно можно кодить, до любых сложностей, а потом ХРка просто проигнорит нахуй всё, что я там запилил, потому что у меня опыта работы нет
Такие окна открываются, когда например ты регаешься на каком-то сайте через гугл аккаунт и т.п.
да, авторизация по соц сетям
Вкатываюсь в электрон + вью. Основная ебля была с фреймворками, вебпаком и прочими настройками проекта. Я просто охуел от того, сколько всего напридумывали макаки. Потратил неделю на поиск шаблона проекта с настроенным вебпаков Разобрался с нодой, электроном, вью. Заодно пощупал реакт, но он мне не понравился. ЖС доучиваю по мере надобности. Опыт в айти около 5 лет, в вебе - все по нулям кроме основ верстки.
>Потратил неделю на поиск шаблона проекта с настроенным вебпаков
Неужели там нет аналога npx create-react-app foldername?
>iframe
Не, не оно, но спасибо за старания.
>>62247
>window.open():
>
О, похоже оно. Спасибо, друг. Смотри, у тебя там тег <a>, но текст не выглядит как ссылка. Почему? Бывает на сайтах встречается такое, вроде кликнешь по пустому месту, ссылки там нет, курсор не меняется, а эта педерастия открывает новое окошко с рекламой, бесит. Еще вопрос, почему такое окно без элементов управления? Там нельзя зайти на вкладки файл, закладки, инструменты, и нет вперед назад кнопок. С точки зрения JS оно отличается от обычного окна и вкладки?
>>62248
>никакой самостоятельности шото
И как это можно нагуглить, по каким ключевым словам? Если бы мог, то не задавал бы тут вопрос.
Снова я. Кликни если не трудно на счет любого матча, там как раз откроется окно, про которое я спрашивал. Хочу убедиться, что window.open() создает именно такие окна. https://www.flashscore.ru/
>
>О, похоже оно. Спасибо, друг. Смотри, у тебя там тег <a>, но текст не выглядит как ссылка. Почему? Бывает на сайтах встречается такое, вроде кликнешь по пустому месту, ссылки там нет, курсор не меняется, а эта педерастия открывает новое окошко с рекламой, бесит. Еще вопрос, почему такое окно без элементов управления? Там нельзя зайти на вкладки файл, закладки, инструменты, и нет вперед назад кнопок. С точки зрения JS оно отличается от обычного окна и вкладки?
Просто так задумано, зачем тебе выяснять особо?))
>И как это можно нагуглить, по каким ключевым словам? Если бы мог, то не задавал бы тут вопрос.
>>>javascript open window
гуглишь на английском, на всяких stackoverflow вопросы много раз поднимался и решался.
>>62265
Да, такое же. alert() c window.open() не перепутаешь)))
>Неужели там нет аналога npx create-react-app foldername?
Это для веба, а с электроном все сложнее. Нужно было настроить так, чтобы не было веб сервера, но был вебпак и hot reloading.
Благодарю
По каким ресурсам изучать браузерные API? DOM и вот это вот все.
Изучал пару месяцев, вкатился и уже год работаю. В боевых условиях вместо реактп приходится легаси говно правда разгребать.
>Изучал пару месяцев, вкатился и уже год работаю
Как вкатился? Есть несколько компаний, в которых довольно высок шанс того, что меня могут взять мы находимся в одном и том же мухосранске, и стек совпадает, но постоянно думаю, что надо еще немного подучиться, чтобы чувстовать себя уверенне. Что спрашивали на собесе, что умел на тот момент? Полотенце под ноги кидали?
Работаю, учиться можно вечно. Ничего не леплю.
Лайтово спрашивали по жс, контекст итп, базовые алгоритмы cs. Тестовое сделал с парой апишек.
До этого кресты дрочил несколько лет, так что вкатился быстро и просто.
А можешь сказать, чем занимался после того как устроился, типа что вообще было в первый день? Какие задачи были? Что тебе доверяли делать?
>контекст
Контекст выполнения функции?
>До этого кресты дрочил несколько лет, так что вкатился быстро и просто.
Что ж ты сразу не сказал. Твой пример плохой. Тот чувак не дрочил ничего 2 года, поэтому так быстро не сможет вкатиться. Дело тут не в крестах, а в опыте вообще.
а как понять, что ты готов сесть в реальный самолёт(рискуя разбиться нахуй), после тренажера?
Чтобы понимать, какой уровень должен быть для джуна. К примеру если тебе сказали, что нужно по ТЗ полностью целиком в одиночку написать сайт на Ангуляре до конца недели или сверстать какую-нибудь страницу без логики, очевидно это разные требования и разный уровень.
>>62288
Ну будем объективны, управлять самолетом куда легче, чем делать сайты.
Напизди, что фрилансил.
Сейчас такое сплошь и рядом пишут в резюме:
С 2018 года по настоящее время: частное предпринимательство, фриланс.
Поройся в резюме на hh, посмотри, что народ пишет.
И на гитхаб залей чего-нибудь, желательно пораньше, а не получше.
Чтобы типа история была.
В реальный самолёт ты сядешь не один, а с инструктором.
И это будет много раз.
Потом сдашь экзамен, с инструктором за спиной, опять же.
а если это война и твой инструктор убит или сядет в другой самолет?
Тогда ты идешь окопы копать.
Блядь, мы тут джаваскрипт учим, чтобы кнопочки делать, какая нахуй война?
Тогда надо уёбывать пешком куда-нибудь подальше, лол.
Если ты имел в виду, что надо не ссать ,а идти работать, то да, так и есть.
Но, аналогию лучше приводить с плаванием.
Сколько бы ты ни махал руками на суше, не зайдя в воду - плавать не научишься.
>Почему в жс чаще работают именно с ним?
Так исторически сложилось. Потому что удобно json хранить.
>>62296
>>62285
>не зайдя в воду - плавать не научишься
Блядь, ебанные любители аналогий, ну надо же адекватно оценивать свои силы, а не как еблан приходить и на все вопросы отвечать уверенное Я НЕ ЗНАЮ. Должна быть хоть какая-то база, вот и хочется узнать КАКАЯ?
Если вы так любите аналогии - Не научившись хоть чему-то, на работу никто тебя нахуй не возмет. Такая аналогия достаточно понятная для вас? Устроили тут блядь школу лидерства, пиздец самомнение. Я бы вам рассказал о своей жизни, вы бы вперёд меня к петле бы побежали, так что не пиздите
Сперва обмазывал тестами наши основные скрипты. Это еще тот пиздец был, половину браузерных апи замокал.
Затем насыпали ворох тасок с багфиксами. Попозже переключился на новые фичи и внутреннюю админку.
>>62284
> Контекст выполнения функции?
Да, в целом были всякие лайтовые но каверзные вопросы.
>Дело тут не в крестах, а в опыте вообще.
Так коммерческого, столичного-то опыта не было!
>ну надо же адекватно оценивать свои силы, а не как еблан приходить и на все вопросы отвечать уверенное Я НЕ ЗНАЮ
Ну так и оценивай. Если ты понимаешь, что еблан и нихуя не знаешь, то учи дальше.
Хотя приходить как еблан - хороша идея, как раз поймешь, что нужно дооучить.
Меня интересует что де-факто сейчас в разработке происходит. Опять зоопарк из фреймворков?
А что, ruby hype is over?
Вроде, говорят, неплохо за это платят, всё ещё.
И фриланс, вроде, есть.
Бек на жс - это для фронтендеров.
Здоровые люди так не делают.
Тем не менее верное утверждение то, лол
Если добавляю lang, вообще нахуй посылает.
В IDEA (WebStorm) в таком случае надо было поставить плагин для scss.
Думаю, тут тоже.
И lang=''scss" надо обязательно указывать, иначе webpack не поймёт.
>Так коммерческого, столичного-то опыта не было!
И что? Ты 2 года изучал программирование, а он возможно только недавно начал.
>Как сейчас пишут бэкенд на Ноде?
Как попало. Нет устоявшихся подходов. Много фронтендеров понаехало в ноду. Хорошего образования они конечно же не получили. Не вузовское имею ввиду. Поэтому пишут как попало. Еще играет роль тот факт, что нода позволяет писать как попало. Это не джава где все строго как создатели сказали, по другому не сможешь сделать. Плюс JS позволяет писать очень хитрый код. Функции принимают функции, возвращают функции, и вот эти вот берут и наворачивают их друг на друга, запутывая все в клубок. Посмотри почитай про антипаттерны.
https://www.youtube.com/watch?v=DJCzZF383ug
>Опять зоопарк из фреймворков?
Да, но самые шарящие не используют ничего. Нода уже все дает из коробки. Есть минималистичный стартер кит, в котором все есть, в видео он упоминается. На этом же канале продолжение есть, 2 части, с таким же названием.
https://github.com/HowProgrammingWorks/NodejsStarterKit
https://youtu.be/GJY2dyE6328?t=494
>А что, ruby hype is over?
Читай что такое цикл хайпа. Руби прощел этот цикл. Это зрелая технология, которой пользуются профи, а не новички. Поэтому хайп они не ищут. Хайп - удел плохообразованных юнцов.
>Вроде, говорят, неплохо за это платят, всё ещё.
Кхм, всё ещё? В Руби одни из самых высоких зарплат.
>Бек на жс - это для фронтендеров.
>Здоровые люди так не делают.
Это кудахтанье. Еще как делают. Только не так как фронтендеры. IBM использует ноду во все поля. Надеюсь не надо рассказывать кто это такие.
>Ты похоже не понимаешь что реактовые компоненты полностью гомоиконируются в вдом и чем это отличается от вуя, лол
Вася, гомоиконность это свойство языка программирования. Тот чел тебе все правильно сказал. Гомоиконность это когда в языке программирования код это данные, а данные это код. То есть код не отличается от данных. Таким свойством обладают лиспоподобные языки. Так что ты обосрался. Сколько тебе лет то хоть?
>Эссенция реакта - это декларативные шаблончики вместо императивной ванила/jquery дрисни.
Если ты криворучко, то у тебя все будет императивным. А так ничто не мешает писать на pure JS иои jquery декларативно.
>Т.н. "энтерпрайз", и реакт, с его подходами, для этого дела не годен вообще.
Тут ты сильно ошибаешься. Реакт для этого и создавали. В фэйсбуку мало данных? Не ынтерпрайс?
У тебя ООП головного мозга. Скорее всего ты просто начитался/насмотрелся/наслушался всяких шизиков, а сути не понимаешь. Всегда видно когда человек имеет свое мнение основанное на опыте, и видно когда говорит заученными фразочками из интернетов. Классы это не ООП. На классах любой дебил может писать. Таких в джаве большая часть.
Больше похоже на подрыв макаки с ООП-фобией.
Как подключиться к странице сайта на ноде чтобы можно обращаться к элементам как через веб-консоль?
>MDN же
Спасибо, а что скажешь про learn.javascript.ru? Только мне одному MDN кажется запутанным?
> что скажешь про learn.javascript.ru
Если бы ты не написал, никогда не узнал бы что оно вообще есть
Как учебник по языку может прокатит, но API чего угодно всегда лучше изучать по его справочнику
А ты не обезьяна? Ты хуже. Был бы нормальным ответил бы нормально.
>>62538
>Попробуй puppeteer
Спасибо, но это наверное лишнее. Я же могу получить всю страницу с помощью http клиента? Потом достать с нее ссылки и получить вложенные страницы?
>>62531
>Если бы ты не написал, никогда не узнал бы что оно вообще есть
Странно
>Как учебник по языку может прокатит, но API чего угодно всегда лучше изучать по его справочнику
Мне нужен учебник по API. В справочнике я могу что то найти, но мне надо понять базовые вещи как все устроено, а после как раз справочник пригодится.
>Я же могу получить всю страницу с помощью http клиента?
Откуда нам знать? Может тебе и curl хватит, а может надо будет обрабатывать js и user-agent подменять.
Ты либо пиши точнее либо сам всякое гугли web scraping
> получить всю страницу с помощью http клиента
> Потом достать с нее ссылки и получить вложенные страницы
Можешь
Получаешь
@
парсишь
@
достаешь
Вариантов чем качать, чем парсить и как доставать много, но если тебе просто ссылки вытащить, то бери axios + cheerio
> учебник по API
Писать учебники по каждой апихе чет слишком, обычно страницы с Overview предостаточно, чтобы понять как её дёргать, а дальше уже лезешь в справочник за деталями
Спасибо еще раз
SQLite
Обычно монго, иногда постгрес.
Бля. Чувак спасибо. Сделал может не совсем так, но взял идею за основу. Отсортировал, сделал словарь, разбил на два массива один с меньшими значениями второй с наибольшими и искал разницу и по последнему индексу из словаря определял в каком из двух массивов это разница, потом заменял эту разницу элементом из другого массива, который плюс минус равен элемент минус разница плюс разница делённая на два.
Задача- есть объект жсовский, СКЛАД, считайте. В нем есть поля - поля с предметами. Полей сколько угодно может быть. Каждому полю соответствует их число. { shit: 40, pee: 20 } например. Есть также max. max это сколько каждое поле в объекте может иметь максимум значение. max 50 например.
Нужно написать функцию которая справедливо распределит число N по каждому полю и вернет новый объект. Сигнатурой (obj, max, value) => obj
Справедливо я имею ввиду образно, но так, чтобы если чего-то недостаёт, тогда туда распределилось больше. Если что-то близко к максимуму, то туда распределилось меньше. Больше максимума быть не должно естественно. Максимум один для всех полей.
Вызываю foo({ shit: 10, pee: 50 }, 70, 50), возвращает {shit: 25, pee: 25}. Изначальные значения не учитываются. Должно быть что-то вроде {shit: 55, pee: 55}.
Потому что целочисленные как минимум
Но можно и так, в принципе, лишь бы функция была, я примерно описываю что должно быть
> Должна быть хоть какая-то база, вот и хочется узнать КАКАЯ?
Нет ответа, во всех компания разные требования, тем более на джуна. Загугли top %n frontend interview questions и посмотри, способен ли ты на них отвечать.
Сходи на пару собеседований -> гугли вопросы, на которые не смог ответить. Повторяй, пока тебя куда-нибудь не возьмут
> каунтер и туду - это предел для вменяемого кода на реакте.
Реакт это только когда надо реагировать на клик от пользователя и всякие сообщения браузера, тогда он РЕАКТ, а когда надо из программы чтото вычислить и показать или скрыть, то уже не совсем реакт а пук среньк, ехал парент через проп
.
Не хочешь помогать не надо
>Чему ты хочешь научиться, делая заведомую хуйню?
Ну че ты доебался? Я открыл для себя dom апи. Хочется попарсить странички. Что не так?
>Справедливо я имею ввиду образно, но так, чтобы если чего-то недостаёт, тогда туда распределилось больше. Если что-то близко к максимуму, то туда распределилось меньше.
Мало ограничений в условии. Если везде поровну, а я сделаю что в некоторых будет на 1-10 больше чем в других, это будет справедливо или нет? Нужен а?лгоритм справедливости. Есть такой?
Алсо, сейчас открыл реддит, они там принципиально ничего кроме дивов не используют
>Реакт это только когда надо реагировать на клик от пользователя и всякие сообщения браузера, тогда он РЕАКТ, а когда надо из программы чтото вычислить и показать или скрыть, то уже не совсем реакт а пук среньк, ехал парент через проп
Почему это? Создаешь воркер и считаешь хоть до посинения процессора.
>Алсо, сейчас открыл реддит, они там принципиально ничего кроме дивов не используют
Реакт про менеджмент состояния и обновления только изменившихся элементов. При чем тут только дивы?
Да не, я знаю что такое реакт, просто еще были срачи о том, стоит ли делать семантику, или делать всё на дивах. Так вот, как миниму реддит целиком весь сделан на дивах и вообще часто от разного рода сеньеров подобное слышу. Есть конечно предположение, что семантика улучшает поиск сайта внешними сервисами, и вроде бы читалки сайтов для слепых и слабовидящих по ним ориентируются. Но судя по всему всем похуй.
Нет, не значит. Просто люди кладут хуй, вместо того чтобы написать полтора семантических тега, сайт хуже индексируется, им не могут пользоваться слепые, компания несёт убытки так или иначе, но просто не настолько это заметно сразу, чтобы массово ебать говноедов бумерских привыкших к одним лишь дивам. В 2к20 верстать на дивах от лени, вместо того чтобы запомнить теги, это просто перенимать привычки древних ленивых говноедов. Причем даже этот говноед когда будет тебя собесить и спросит про семантику, а ты скажешь мол нахуй не нужно, хоть и сам на ней не верстает, но тебя пошлет, потому что тебе сука лень было приучить себя к полутора тегам, нахуй ты нужен такой.
>На своё усмотрение, но приближенный к тому, о чем я говорю.
ты толком не сказал как распределять
Чтобы если чего-то дохуя, близко к максимуму, то туда меньше, а если далеко от максимума, то туда больше. Если все поля одинаковы, то прибавится к каждому одинаково. Если какое-то поле переполнено, тогда остаток распределяется между остальными.
Если я блок схему буду продумывать точную то я уже и сам напишу, просто есть всякие охуительные любители математики и олимпиадных задач, кому в кайф эту хуйню решать и думать, я не из таких, поэтому охота чтобы кто то за меня решил кому это доставляет. Если никому не охота - ну придется ебаться самому.
>им не могут пользоваться слепые
Ой блядь, только не пизди, что тебе не похуй. Если это не специализированный сайт, то и правильно что всем поебать
Всё равно это убытки. Не похуй.
Ты когда-нибудь гуглил какую-нибудь хуйню вообще? Знаешь как работает то что гугл сверху выдаёт тебе сразу ответ жирным шрифтом с какого-то сайта? Подсказка - если ты пишешь на дивах, то такого не будет.
Реакт то не при чем. Они и без него могут не использовать семантические теги.
>сайт хуже индексируется
Только не реддит. Думаю таким сайтам не дают санкции из за этого. Они слишком популярны.
>Чтобы если чего-то дохуя, близко к максимуму, то туда меньше, а если далеко от максимума, то туда больше
Много, мало, это все относительно. Нужны цифры. Тебе же написали решение. Подправь как считаешь нужным.
Сейчас проверил, и в общем у реддита в ходу 3 тега, это h1, h3 и p, так что нет, видимо не забивают, а значит всё это обсуждение можно благополучно заканчивать
Это решение в сущности просто делит число на количество полей и делает каждое поле этим числом
>Оно в браузере. А тут ты хочешь без него =___=
Ну и хуй с ним. Найду похожую реализацию для ноды. Может попробую свою написать.
>Создаешь воркер и считаешь хоть до посинения процессора.
Это чтобы модальное окно с анимацией закрыть?
Почему жиквери и даже ебаное GWT может закрыть модальное окно без парента, парент только говорит окну открыться, а высер денчика не может
Пожалуйста. Самому было интересно в правильном ли направлении думаю или нет.
Тебе хочется парсить html вообще, или тебе хочется делать это на Node?
Да, я помню, что это JS тред, и, тем не менее.
Если вообще - то для этого сейчас используют питон, в основном.
Гугли web scrapping, как уже советовали.
А если на ноде - б-г в помощь.
Настоящий олимпиадный задрот азиат такую задачу решает за 5 минут вобще не тестируя сразу с первого раза, но там у него как палку распилить
https://www.youtube.com/watch?v=4ALB5m_Idkk
>>62829
Дорогие ребята!
То, о чём вы говорите - это называется не "энтерпрайз", а "социальные сети" и прочие сервисы для конечных пользователей - стильные, модные и молодёжные.
А "энтерпрайз" - это информационная система предприятия - crm, wms, планирование и прочие скучные вещи. Большие таблицы с кучей колонок, формы, отчёты и прочая подобная хуита.
Примерно то, что в 1С, но, для здоровых людей, и с беком на джаве.
Даже боюсь представить что за дичь будет если в модальном окне указываешь номер строки таблицы и она выделяется в таблице когда ОК нажался, а само окно закрывается анимацией секунду. Денчик, сделай позязя, а то тудушки и каунтер это хорошо кнешна
Мне кажется, под такие задачи надо мутить что-то своё.
В конце концов, реакт - это просто рендерер (V).
Какой-то отдельный сервис для показа модальных окон.
Сами компоненты-окна при этом лежат где-то в корне, или даже вообще отдельно от приложения. И т.п.
>это уже не спа а набор статичных страниц?
Обычно сервер настраивают чтоб на любой запрос возвращался index.html
Должна быть одна страница, если next.js и подобные не используешь.
И открывать окна через Promise, типа myDialog.open(...).then(res => ...).
Выделенная строка (массив выделенных строк) должна храниться в стейт менеджере. В общем, всё одно и то же, на чём бы ты это не делал.
>я разрабочик на реакте
Да это, в общем-то, понятно.
И в этом-то и проблема, что "разработчики на реакте" из фейсбука и их BLMнутые друзья не очень понимают, что людям нужно в реальных приложениях, которые не соцсети, лол.
То, что нужно людям, выдумыванием этим занимаются UI/UX, а разработчики на реакте занимаются тем, чтобы это претворить в жизнь. Но откуда тебе это знать, ты же просто ебаный любитель пространных рассуждений о том, чем никогда не занимался.
> UI/UX
Во-во.
Ты даже не пытаешься понять, о чём тебе говорят, разработчик на реакте.
Я реально охуеваю, сколько безграмотного народа в JS-теме не просто работает, а ещё и пафосно учит других жить. Не зная и не понимаю элементарных вещей.
Потому, что долбоёбы просто пришли из ниоткуда, и начали на пустом месте изобретать велосипеды, просто слив в унитаз то, что десятилетиями придумывали до них. Он разработчик на реакте, лол, вообще охуеть.
>разработчики на реакте занимаются тем, чтобы это претворить в жизнь
Да, зумер для каждой таблицы которых там 50 штук выделит отдельный стейт менеджер и будет обновлять когда пользователь выделяет строки и надо программно выделить, вот заебись, еще по стайт менеджеру для каждого из 40 модальных окон, которые надо не зыбать закрыть, они же сами себя закрыть не могут
>Ты даже не пытаешься понять, о чём тебе говорят
Шизофазийный бред про, блядь, BLM от малолетнего недовкатыша в треде про JS? Ох, как же так, как же я не попытался понять это, как так вышло-то.
>>62995
В редуксе один стейт менеджер на всё приложение, в мобхе на каждый компонент модального окна вместе с его рендером создастся обсёрвабл стор на прокси, который нихуя не весит и отрабатывает ещё быстрее чем редакс, в чем проблема?
>40 модальных окон
40 модальных окон это ваши знаменитые требования обычных людей которые не могут удовлетворить реакт-разработчики? Позволь поинтересоваться где нужны 40 модальных окон? И это по твоему вина реакт разработчика что ему приходится рисовать 40 модальных окон, а не того мудака, который дизайнил взаимодействие с пользователем?
>в мобхе на каждый компонент модального окна вместе с его рендером создастся обсёрвабл стор
Ну охуеть, теперь таблицы и модальные окна должны знать что гдето есть какойто обсервабл стор и тащить эту зависимость с собой, ну типичный реакт вей, где парент надо под каждый компонент изменять который в нем лежит и контролировать чтоб он закрывался открывался
>И это по твоему вина реакт разработчика что ему приходится рисовать 40 модальных окон, а не того мудака, который дизайнил взаимодействие с пользователем?
Ну давай сделай работу с таблицами без модальных окон, но ты же реакт разработчик, ниче сложнее лендинга не писал
Даже если ты пишешь компоненты на чистом ЖС ты будешь отделять стор, если ты не имбецил, в соответствии с принципом единственной ответственности, если ты хочешь, чтобы твоё говно было поддерживаемо хоть на сколько-то.
Но я так понимаю тут речь не о таких вещах, не о понимании с твоей стороны того, зачем вообще нужны фреймворки для построения того, что можно расширять и поддерживать, а о том что просто ебланам не нравится то что реакт даёт рамки как любой фреймворк, они хотят просто делать че им захотелось, удалять модальное окно откуда угодно потому что ему так хочется, потому что лень понимать как работает поднятие стейта в реакте. Все вокруг дураки, то что выстроили реакт флоу где ререндер родительского вызывает ререндер дочернего, а он охуенно умный, щас просто будет модальное окно закрывать из него же и всё охуенно будет.
Я не вижу никакой проблемы в модальных окнах как таковых, господа итт утвержают что им СЛОЖНА следить за окнами, нужно их закрывать из родительского компонента, но модальное окно вообще-то блокирует остальную страницу, пока не закончится взаимодействие с ним. Следовательно рисовать больше одного окна невозможно, только подмодалку, т.е. модалку, которая принадлежит другой модалке, что замечательно ложится в реакт дата флоу.
Чувак, проблема в том, что для бизнес-приложений удобна модель с "настоящими" UI-компонентами. В которых есть и M, и V, и C, и всё это вместе инкапсулировано в одном компоненте, а не раскидано по коду всего приложения, как говно, наброшенное на вентилятор.
Как в C++ Qt, Java Swing, jQuery UI, Angular, и, сюрприз - Vue.
А реакт - неудобен. Потому, что в нём "компоненты" - это не компоненты.
И если тебе надо такие вещи объяснять - то ты именно что "реакт разработчик" (это как 1С-программист, примерно).
Это шиз, не спорь с ним. Можно узнать по бреду про открытие модальных окон или выбор строк в таблицах. Уже не первый тред тут сидит.
>рисовать больше одного окна невозможно
Возможно, чувак.
Из модального окна можно нарисовать другое модальное окно.
Вообще, уровень вашей экспертизы понятен, непонятно, зачем вы лезете спорить.
>Тебе хочется парсить html вообще, или тебе хочется делать это на Node?
>Да, я помню, что это JS тред, и, тем не менее.
На JS. Я через консоль браузера попарсил немного. Понравилось. Захотел через ноду.
>Если вообще - то для этого сейчас используют питон, в основном.
К питону стойкое отвращение. Синтаксис не нравится. Может язык и не плохой, но не идет.
>Настоящий олимпиадный задрот азиат такую задачу решает за 5 минут вобще не тестируя сразу с первого раза, но там у него как палку распилить
А потом оказывается, что он учится в MIT и является победителем международной олимпиада по информатике 2020. Это написано в его твиттере https://twitter.com/tmwilliamlin168
Я вот одного не пойму — почему ты не можешь просто взять свой Ангуляр, Вью, Джиквери, плюсы или что там тебе нравится и разрабатывать на нем в свое удовольствие? Тебе тимлид Реакт каждый день в жопу пихает или что? Откуда эта острая потребность нести хуиту про то, в чем не шаришь?
>господа итт утвержают что им СЛОЖНА следить за окнами
Мне, кстати, не сложно следить за модальными окнами.
Я закрываю их изнутри, легко и непринуждённо.
И делаю всякие другие интересные вещи.
Потому, что я не использую реакт, а использую Vue.
А реакто-цыгане итт пытаются убедить меня купить у них лошадь, которую они надули в жопу шлангом, чтобы она выглядела жырной и здоровой.
>Большие таблицы с кучей колонок, формы, отчёты и прочая подобная хуита.
React и создавался для таких задач, где много элементов и данных, и нужно чтобы они взаимодействовали друг с другом без проблем с состоянием.
Питон отвратителен, да.
А ведь когда-то он мне очень нравился. Но, времена меняются, а питон - нет.
Свет какой истины? Той, что ты не можешь с элементарным стейтом справится? Ок, мы это поняли, спасибо.
Бля, ты опять сейчас будет приводить в пример ту смешную таблицу на jquery, где даже виртуализации нет?
Стоит работу искать
Из личного опыта.
Один и тот же небольшой демо-проект на vue и на реакте.
Разница просто неприличная.
Реакт вообще не особо производителен.
Это решается виртуальным скроллингом, конечно, но, тем не менее.
Лезть в бек - это немного другая тема.
Если нравится реакт - попробуй React Native.
Или сервер-сайд рендеринг.
Есть дофига инфы и книг на тему "бек на Spring Boot, фронт на React".
Но, это уже _совсем_ другая тема.
>Из личного опыта.
А, ну это, конечно, да. Самый объективный показатель. Откуда мы знаем, может ты ключи криво прописал или вообще в дев-окружении тестировал.
Спасибо
> где даже виртуализации нет?
>. The grid has been tested to allow up to 1,000,000 records in grid.records array.
http://w2ui.com/web/demos/#!combo/combo-4
babel
ПЕРЕКАТ >>1863168 (OP)
ПЕРЕКАТ >>1863168 (OP)
ПЕРЕКАТ >>1863168 (OP)
ПЕРЕКАТ >>1863168 (OP)
ПЕРЕКАТ >>1863168 (OP)
ПЕРЕКАТ >>1863168 (OP)
ПЕРЕКАТ >>1863168 (OP)
ПЕРЕКАТ >>1863168 (OP)
ПЕРЕКАТ >>1863168 (OP)
Это копия, сохраненная 20 апреля 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.