@react_js

Страница 871 из 5115
Alexander
25.01.2017
21:13:28
почему из fetch делают отдельный компонент? то есть class Fetch extends Component и т.д. вместо того чтобы делать fetch в ComponentDidMount ?

Дмитрий
25.01.2017
21:14:15
Странный кейс какой то

И правда, зачем

Google
Dmitry ?
25.01.2017
21:15:08
Это называется React головного мозга

Arseniy
25.01.2017
21:15:33
переписал квартиру на реакт, называется.

Дмитрий
25.01.2017
21:15:38
Хотя ладно, лол, у меня у самого менеджер загрузок в виде компонента в одном проекте

Но я это хотя бы обосновать могу))

Pavel
25.01.2017
21:17:12
Почему из роутера делают компонент

Alexander
25.01.2017
21:25:00
Но я это хотя бы обосновать могу))
обоснуй, если не сложно

Dmitrii
25.01.2017
21:25:08
Почему из роутера делают компонент
https://github.com/ReactTraining/react-router/tree/v4#v4-faq

Дмитрий
25.01.2017
21:31:35
обоснуй, если не сложно
Компонент реагирует на действия юзера и при определенных данных в редаксе, автоматически начинает загрузку множества файлов. Маунтится и анмаунтится вместе со страницей, не используя componentDidMount, общается с редаксом, выполняет запросы и диспатчит результаты, являясь при этом чистой функцией. Для отладки довольно сложного алгоритма подргузки данных с сервера удобней иметь именно такую штуку, допускаю, что потом надо будет это переписать менее упоротым способом

Alexander
25.01.2017
21:34:49
вот кстати пример https://github.com/kentcdodds/react-workshop/blob/master/src/exercises-final/11-render-callback.js

Дмитрий
25.01.2017
21:36:36
Ну чтото похожее, походу

Дмитрий
25.01.2017
22:22:14
блин, звучит круто, а пример кода можно увидеть подобного компонента?
https://github.com/goodmind/treact/blob/avatars/src/app/containers/InstantMessages/downloadAssistant.tsx#L58

Соответсвенно, в коде просто вставляем <DownloadAssistant />

Google
Andrew
25.01.2017
22:23:05
ты рамду вместо лодаша гоняешь?

Дмитрий
25.01.2017
22:23:38
Я ей уже пол чата наверное задолбал ?

Да, гоняю, ramda ftw \0 \0

Andrew
25.01.2017
22:23:55
а по бенчам она лодашу не уступает?

я где-то встречал вроде что лодаш андерскора ложит на лопатки в этом плане

Дмитрий
25.01.2017
22:24:45
Андерскор естественно кладёт, потому что это его преемник, гораздо более сильно оптимизированный

Андерскор в итоге в лодаш и влили

А вообще, тут такое дело, смотря что бенчмаркать. Попугаям op/s я предпочитаю бенчмарк времени на написание и поддержку

И тут у рамды множество преимуществ)

Andrew
25.01.2017
22:26:32
для меня пока вновинку все это :) в код твой смотрю и вижу фигу. надо будет взмедитнуть на досуге :) у меня аналогичная задача предстоит на проекте в обозримом будущем, так-что придется решать так или иначе

Дмитрий
25.01.2017
22:27:54
Ну тут вполне тривиальный код, просто надо помнить про каррирование и point free))

А вот фигу можно увидеть вот здесь ? https://github.com/goodmind/treact/blob/avatars/src/app/helpers/state.ts Реально ту мач, всё никак руки не дойдут написать по нормальному

Andrew
25.01.2017
22:29:10
Ну тут вполне тривиальный код, просто надо помнить про каррирование и point free))
пр окаррирование я уже въехал более-менее, а вот про поинт фри впервые слышу... надо будет загуглить про штойта:)

слушай, а ты долго вообще шел к подобному коду?

Pavel
25.01.2017
22:30:05
Двоякое впечатление, в одном чате 40$ час, в другом въезжаешь в каррирование

Andrew
25.01.2017
22:31:24
Двоякое впечатление, в одном чате 40$ час, в другом въезжаешь в каррирование
откуда 40 взялось то? :) ну и ФП на JS никогда не поздно и никому не рано.

Дмитрий
25.01.2017
22:31:33
пр окаррирование я уже въехал более-менее, а вот про поинт фри впервые слышу... надо будет загуглить про штойта:)
http://buzzdecafe.github.io/code/2014/05/16/introducing-ramda http://fr.umio.us/why-ramda/ http://randycoulman.com/blog/categories/thinking-in-ramda/ Стандартный пак ссылок "философия рамды"

Andrew
25.01.2017
22:34:48
Двоякое впечатление, в одном чате 40$ час, в другом въезжаешь в каррирование
я полтора года назад упарывался на jQuery и PHP в процедурном стиле и жизнь была прекрасна, пока не убился об callback hell на форме в 50+ полей и завернутой бизнес логике, которую через пол-года пришлось кардинально перепилить, т.к. бизнес резко сменил траекторию. вот тогда я задумался что надо в жизни что-то менять и задумался в сторону ангуляра - не зашло, потом эмбер - зашло но замудрённо, потом реакт с ванилькой и ес6. так-что в целом я конечно большой молодец, но в чем-то джун джуном со своими седыми висками. вот так вот. :)

Дмитрий
25.01.2017
22:34:57
слушай, а ты долго вообще шел к подобному коду?
Я несколько от обратного шёл, сначала я ощутил реальную потребность формулировать небольшие операции ёмко и удобно, поэтому, когда узнал о рамде — начать не было проблемой)) Спустя неделю было гораздо большей проблемой п е р е с т а т ь

Google
Andrew
25.01.2017
22:37:32
Да я видимо зря так ворвался. Я думаю многие думают и решают высокие материи, но на некоторые вопросы для джунов не сразу ответят
мне вот ООП не зашло, от слова совсем, еще со времен Borland Pascal 6/7, тогда еще дилемма стояла, а не смигрировать ли на С. но его дикий синтаксис меня тогда так высадил, что я не решился. правда потом пришел клиппер, через много лет та же пыха, теперь вот JS, в которых есть от С. короче никуда не делся. :) ну и на С не было спроса в нашей тундре, на клиппер был. интернет появился существенно позже, когда уже было поздняк метаться.

Val
25.01.2017
22:39:09
Redux - это ведь аналог rootScope/scope в ангуляре? Или тут другой принцип?

Grigory
25.01.2017
22:39:52
scope в ангуляре не в рамках компонента?

Val
25.01.2017
22:40:18
Есть рут, который на всё приложение

Дмитрий
25.01.2017
22:40:25
Redux - это ведь аналог rootScope/scope в ангуляре? Или тут другой принцип?
Настолько ничего общего, что даже не знаю, как это сформулировать))

За $rootScope кстати в ангуляре по рукам бьют

Val
25.01.2017
22:40:50
Настолько ничего общего, что даже не знаю, как это сформулировать))
А как осмыслить?) Пытаюсь для себя аналогию подобрать, вообще с ним не работал

Grigory
25.01.2017
22:41:15
scope больше аналог state в react'е имхо

Дмитрий
25.01.2017
22:41:27
Ну да кстати

Andrew
25.01.2017
22:42:38
А как осмыслить?) Пытаюсь для себя аналогию подобрать, вообще с ним не работал
ну вот представь, у тебя сложное приложение, как дерево, из сотен компонент, и какая-нибудь хитровыверченная бизнес логика, которая затрагивает разом много компонент не очень прозрачным способом. замудохаешься везде бегать, туда-сюда стейт с пропсами пробрасывать, и везде добиваться синхрона. а так ты ложишь все это добро в стор, пробрасываешь пропсами в компоненты, меняешь в одном месте, вся бизнес логика у тебя в кучке, не размазана

весь стор перед глазами

вся логика тоже

а UI тупо перестраивается под изменения стейта в сторе

Val
25.01.2017
22:44:14
А, понятно. Спасибо

Grigory
25.01.2017
22:45:05
Чат про реакт, но таки спрошу, раз про ангуляр вспомнили: как в ангуляре между компонентами обмен данными происходит?

Val
25.01.2017
22:45:34
Сервисами, обычно

Google
Andrew
25.01.2017
22:47:41
я когда-то пытался лисп раскурить малость. не понял как на нем делать то, чем я тогда обычно занимался и забросил.

все таки JS - уникальная штука.

Дмитрий
25.01.2017
22:48:57
Ну да))

рамбда мне напомнил о моих попытках войти в хаскель :−)
Забавно, но первые главы мануалов по хаскелю перекладываются на рамду с точностью до синтаксиса

Arseniy
25.01.2017
22:49:26
да-да-да!

что-то даже захотелось снова поиграться с хаскелем

Admin
ERROR: S client not available

Andrew
25.01.2017
22:50:35
Arseniy
25.01.2017
22:51:07
ага, а после джаваскрипта прохожу радиационный контроль

Andrew
25.01.2017
22:51:47
ага, а после джаваскрипта прохожу радиационный контроль
того кто писал на клиппере без индексов, JSом не напугать!!!

Val
25.01.2017
22:51:49
Понаиграются со своими хаскеллями, а потом проекты на кложурскрипты переводят... :)

Sheridan
25.01.2017
22:52:06
ага, а после джаваскрипта прохожу радиационный контроль
Контроль можешь не проходить. Но глаза с мылом таки мой.

Andrew
25.01.2017
23:00:06
я когда впервые JS увидел, году так в 2008, тогда еще вроде был ES3 в ходу, а IE6 был живее всех живых, короче он мне дичайше не зашел. выбора, правда, не было особо, надо было работу работать, так-что приходилось как-то что-то делать. тогда еще даже jQuery не особо популярен был, всякие MooTools, Prototype.JS и иже зажигали. эх. а сейчас я уже не представляю себя без JS :) вот такие вот метаморфозы.

Дмитрий
25.01.2017
23:00:54
Я вообще js искренне хейтил

Arseniy
25.01.2017
23:01:00
ну и JS всё-таки поменялся за это время

Andrew
25.01.2017
23:01:14
я бы сказал кардинально поменялся.

Arseniy
25.01.2017
23:01:40
церковь свидетелей джаваскрипта.

Val
25.01.2017
23:02:10
Ко всему привыкнуть можно) У меня после пайтона дико шаблон рвало от {}}}} и того, что все как попало пишут

Дмитрий
25.01.2017
23:02:17
Я вообще js искренне хейтил
Как апостол Павел ?

Google
Дмитрий
25.01.2017
23:03:28
А почему компонент а не отдельная сущность?
Просто одна из его конечных целей — корректно работать с обновлениями через redux. Он оттуда и получает данные и кладёт обратно, и желательно, чтобы он это делал как можно чище

KlonD90
25.01.2017
23:03:52
Ну пусть сущность со стором работает

Дмитрий
25.01.2017
23:03:53
Ну и плюс автоматически получаем фичу, что загрузки перестают запускаться при смене пути

Ну пусть сущность со стором работает
В неё нужно прокидывать dispatch, плюс так я сразу сделал реализацию в виде чистой функции

А в отдельной сущности нет нет, да выделишь внутренний стейт. Потом, разумеется, нужно будет оформить отдельно

Просто с учетом задачи, проще всего начать проверять идею было именно так. Просто, написал () => {} и connect для него и можно начинать

KlonD90
25.01.2017
23:06:41
Ну так делаешь какой-нибудь синглтон генератор суешь в него стор и норм же. Стейт из стора берешь и туда же ложишь.

Дмитрий
25.01.2017
23:09:04
Ну это в любом случае больше действий) Плюс прямые операции с объектом стора, который вообще лежит ооочень далеко

В этом нет какого-то глубокого замысла, это proof of work, задача которого — быть кратким и писаться быстро)

Потому что например с синглтонами сейчас всё там очень непросто, и этот момент ещё надо обдумать, а набросок загрузчика уже неделю как готов

KlonD90
25.01.2017
23:12:17
Ну кстати да синглтоны в стейт

Кто-нибудь заморачиваться 2+ сторов?

Дмитрий
25.01.2017
23:13:03
flux?)

А какая цель преследуется?

KlonD90
25.01.2017
23:14:19
Да хоть редакс. Снижение количества редусеров к примеру

Дмитрий
25.01.2017
23:14:23
Ну кстати да синглтоны в стейт
У меня подсознательное отторжение вызывает идея хранить мутабельные / "вечные" объекты в сторе) Вроде технически всё ок, но сам замысел смущает

Vladimir
25.01.2017
23:14:46
Дмитрий
25.01.2017
23:14:57

Страница 871 из 5115