Peter
как реакт связан с лапшой?
так я к тому и веду: как jQuery связан с лапшой?
Sergey
А писать на нем не практично. Оч много кода
почему, es6, es2015, es2017 очень сильно упрощают жизнь на нативном можно многое хорошо написать
Sergey
так я к тому и веду: как jQuery связан с лапшой?
декларативность vs императивность
Sergey
декларативный подход намного короче
Sergey
я не пишу что нужно сделать с деревом, я пишу что хочу получить
Sergey
в jquery я вынужден описывать каждое действие и прямое и обратное
Sergey
в реакте я только описываю результат
Peter
я не пишу что нужно сделать с деревом, я пишу что хочу получить
нет, на jQuery ты можешь просто использовать какой-нибудь шаблонизатор, например, и каждый раз затирать innerHTML
Sergey
Sergey
да и сделать на jquery SPA НАМНОГО сложнее чем на реакте
Peter
и это будет в десятки раз медленнее, чем частичный рендеринг на реакте
это зависит от того, какую ты часть дерева будешь перезаписывать конечно. ведь даже в реакте не рекомендуется всё дерево перерисовывать и добавлены костыли в виде shouldComponentUpdate
cr0w🇺🇦
😱 Лан, пойду учить jQuery для начала. А реакт уже потом
Oleg
jQuery не для SPA
Sergey
это зависит от того, какую ты часть дерева будешь перезаписывать конечно. ведь даже в реакте не рекомендуется всё дерево перерисовывать и добавлены костыли в виде shouldComponentUpdate
дерево все и не перерисовывается при каждом обновлении sCU нужен не для блокировки перерисовки а чтобы не вызывать вычисление ДАННЫХ каждый раз это разные вещи реакт после каждого апдейта сверит виртуальный дом и обновит только изменившиеся куски Если ничего не изменилось, дерево он не тронет
Sergey
а что, SPA - это какая-то самоцель?
нет конечно) просто реакт для других целей)
Oleg
Зато там где не SPA - jQuery уделает другие фреймворки потому что костыли начинаются, серверный рендеринг и прочее
Sergey
не данных, а разницы в дереве
так иди-ка ты поучи реакт, а потом втирай мне из компонентов ты вообще не имеешь доступа к дереву
🦜
Ребят, кто может объяснить как с фронта через FileReader передать на бекенд картинку не в base64
🦜
Не разбираюсь вообще в этом. Как можно передавать файлы
🦜
и не предлагайте jq
🦜
axios )
ну я вот пытаюсь через него. Бекенд сейчас через старый метод работает, приходится добавлять headers: { "Content-Type": CONTENT_TYPE_FROM_1996 }
Alex
jQuery не для SPA
Можно, если фреймворк на джиквери базируется. Kendo UI. например
Peter
так иди-ка ты поучи реакт, а потом втирай мне из компонентов ты вообще не имеешь доступа к дереву
Use shouldComponentUpdate() to let React know if a component's output is not affected by the current change in state or props. The default behavior is to re-render on every state change, and in the vast majority of cases you should rely on the default behavior. конечно не имеешь, но если ты говоришь, что меня не надо перерисовывать, то это в том числе и значит, твоё дерево ничем не отличается от предыдущего и его можно не сравнивать, ну
Sergey
И не просто результат, а виртуальный дом
Sergey
Так это разные вещи
Peter
так виртульный дом - это и есть результат функции render
Peter
так иди-ка ты поучи реакт, а потом втирай мне из компонентов ты вообще не имеешь доступа к дереву
кажется я понял, в чём твоя претензия 😄 да, внутри shouldComponentUpdate ты сверяешь данные, но на верх ты возвращаешь лишь флаг, который говорит о том, нужно ли тебя перерисовать и, соответственно, запустить сверку дерева, вернувшегося из render с предыдущим деревом) т.к. внезапно оказалось, что даже такая проверка нифига не бесплатна
Peter
собственно https://facebook.github.io/react/docs/optimizing-performance.html#avoid-reconciliation
Maksym
Ребята, подскажите по angular 1.5 Есть у меня компонент, который отображается на нескольких роутах, получается что код выполняется один раз (при загружке страницы), нужно изменять компонент на разных роутах, как задать чтобы ф-ция в компоненте исполнялась при переходе на другие роуты или компоненты не умеют этого и нужно что-то другое юзать?
Maksym
Что должна делать функция?
в зависимости от роута изменять кнопку
Григорий
Привет всем может кто подсказать по request модулю для node
Maksym
Что должна делать функция?
https://pastebin.com/YfU9HJTZ вот этот компонент и получается нужно при переходе на другой роут чтоб она отрабатывала
Vyacheslav
в зависимости от роута изменять кнопку
$rootScope.$on('$locationChangeStart', function(event, next, current) { console.log($location.path()); });
Vyacheslav
или https://github.com/angular-redux/ng-redux
Cenator 🐈
что вернет [0] == [0] и почему
Там сравнение по valueOf?
Vyacheslav
сравнивает reference, а не элементы массивов
Maksym
$rootScope.$on('$locationChangeStart', function(event, next, current) { console.log($location.path()); });
спасибо, работает хотя довольно странная реализация в ангуляре, почему компонент сам не может отлавливать изменения роутинга, а нужно оборачивать все в rootScope, не понятно
Vyacheslav
можешь вешать watcher на state
Vyacheslav
но вочеры вообще такое себе
Evgeniya
Компания "Лига цифровой экономики" ищет опытных JavaScript разработчиков на крупные проекты (госсектор и телекоммуникационные компании). Работа в офисе в районе м. Савеловская. Официальное оформление, белая ЗП (уровень обсуждаем в зависимости от опыта и проекта), полный соц.пакет, ДМС. Задачи сложные и интересные, Лига цифровой экономики - это ассоциация крупных сетевых интеграторов AT consulting, Философия ИТ, Р.Т. решения и другие. По вопросам можно обращаться на почту eastepanova@digitalleague.ru .
Sasha
В общем, я js только иногда взаимодействую, поэтому интересно, как такое решают профессионалы. Схематично опишу кейс. const unselected = [{name: 'pie'}, name: {'apple'}]; const selected = [{name: 'wine'}]; входные данные: ['pie', 'wine']; ---> Тут обрабатываем unselected == [name: {'apple'}]; selected == [{name: 'wine'}, {name: 'pie'}]; еще раз только: ['apple'] unselected == [{name: 'wine'}, {name: 'pie'}]; selected == ['apple'];То есть суть такая, что все, что в массиве входных данных должно быть в selected, если чего-то нет, то должно уйти в unselected. Прост интересно, как это красиво в js решается.
Oleg
Я только хотел пошутить про ложку, а ты отредоктировал
🦜
Чет я так и не разобрался в FormData. Почему-то создается пустой объект
🦜
заполнить его надо
formData.append("image", imageFile.fileList[0]);
🦜
по этому примеру делаю https://stackoverflow.com/questions/43013858/ajax-post-a-file-from-a-form-with-axios
🦜
AjaxService.upload(URL_ABONENTS, "UpdateAbonentLogo", query); Раньше вот так было
Igor
/ban
Group Butler [beta]
Igor banned The!
Костя
вот серьезно
Костя
мне кажется ни в одном чате по ЯП, кроме ЖС, никто не будет спрашивать "какую библиотеку освоить"
Костя
этож дожили до такого
Igor
библиотеки - это как-то низковато
Костя
в джаве сразу про фреймворк спрашивают
а там вариантов не то чтобы много
Igor
это да. учишь спринг и все
Андрей
cr0w🇺🇦
Cenator 🐈
Привет всем!) Ребят, подскажите, какую первую библиотеку освоить? А то глаза разбегаются😱
По делу – по мере написания ты сам будешь понимать, какие либы тебе нужны
cr0w🇺🇦
По делу – по мере написания ты сам будешь понимать, какие либы тебе нужны
Уже определился) учу jQuery, потом закрепляю знания js&JQuery хорошей практикой и только за тем React 😉
Igor
кто шарит в кроссдоменных запросах?) меня бэкенд уверяет, что заголовок Access-Control-Allow-Origin должен я ему слать, а не наоборот)
Maksim👨‍💻
он должен слать
Maksim👨‍💻
их
Maksim👨‍💻
это серверная часть
Igor
ему настолько видимо впадлу чет делать, что он прислал мне скрипт, который через get contents (пыхи) сохраняет файл локально на моем хосте!
Igor
и просит парсить его! дожили!
Igor
я чет сижу и охуеваю
Maksim👨‍💻
скажи ему что он идиот )
Igor
говорит, дергай аяксом этот скрипт (пхп), он сохранит тебе новую копию
Igor
а потом дергай копью аяксом))