@react_js
React — русскоговорящее сообщество

Обсуждаем React.js и экосистему. См. также: @reactnative_ru, @apollo_ru, @protonnative_ru, @nodejs_ru, @js_ru, @uiux_ru Вакансии и поиск работы: @javascript_jobs Правила: http://bit.ly/our_etiquette Sponsored with ❤️ by www.axept.co

5822 members

Архив канала @react_js 13 апреля 2016 г.

03:59:24 ДП
User 171026916
Всем доброе утро
05:11:31 ДП
User 120407271
Кто может рассказать про связку реакта и рельсов? Я сейчас делаю на основе гема react_on_rails но может быть есть другие подходы?

Так же интересна тема про тестирование реакта при помощи капибары.
05:12:44 ДП
User 1245357
User 120407271
Кто может рассказать про связку реакта и рельсов? Я сейчас делаю на основе гема react_on_rails но может быть есть другие подходы?

Так же интересна тема про тестирование реакта при помощи капибары.
Я считаю, что лучше делать так rails-api + react
05:13:16 ДП
User 120407271
А серверный рендеринг тогда как?
05:13:33 ДП
User 74329021
Мы тоже за основу react_on_rails взяли, альтернатив с server rendering особо нету вроде (по крайней мере столь же бурно развивающихся), но пока только осваиваемся, тоже интересно было бы послушать кого-то кто уже обкатывал основательно
05:13:57 ДП
User 1245357
Ах тебе server rendering нужен ... :)
05:14:24 ДП
User 120407271
Я сначала пробовал react_rails но та нужны танцы для импорта сторонних компонентов.
05:15:22 ДП
User 120407271
User 1245357
Ах тебе server rendering нужен ... :)
Ну да) хотелось бы, но наверное в данной задаче не так критично, просто если есть возможность почему нет.
05:17:37 ДП
User 74329021
Пока там раздражает что надо кучу дублирующих файлов фигачить для клиента и сервера, начиная с разных entry point’ов, что двойная работа :с И с роутингом там как-то запутанно в итоге выходит
05:18:27 ДП
User 74329021
А на просты примерах всё довольно красиво работает
05:43:22 ДП
User 122105125
О, ещё один чатик, привет!
05:43:35 ДП
User 122105125
Гитр уже не тот? :)
06:30:59 ДП
User 57141131
http://swingrul.es/assets/sr-logo-sticky-header.png Хей @Vogre
swingrul.es/assets/sr-logo-sticky-header.png
06:39:42 ДП
User 656567
@DenisIzmaylov делай супер группу, чтобы джойны не видеть?
06:41:36 ДП
User 4627228
Так это уже супер-группа :)
06:41:55 ДП
User 4627228
Плюс ты посмотри на состав участников - тут все super star
06:48:22 ДП
06:49:16 ДП
User 110741963
Ребята можно завелись бота который будет отвечать на вопросы связанные с реактом😉
06:49:30 ДП
User 110741963
Запилить*
06:49:46 ДП
User 686615
Он должен быть очень умным:)
06:50:06 ДП
User 120407271
А бот на реакте ?
06:50:33 ДП
User 4627228
А бот на руби :)
06:52:37 ДП
User 131143860
назовем его @dan =)
06:52:56 ДП
User 131143860
или @abramov
06:53:15 ДП
06:53:58 ДП
User 4627228
@gaearon :)
06:56:26 ДП
User 131143860
коллеги, у кого был опыт использования redux-form? интересует как реализовать валидацию, логика которой зависит от внешнего состояния
06:59:37 ДП
User 4627228
Итак, друзья, вы все большие молодцы! Менее чем за 12 часов мы выросли с 0 до 100 человек. 💥 Это ещё раз подчёркивает, что React-коммьюнити самое активное и сплочённое, особенно в русскоязычном сегменте. Открываем бокал шампанского и обновляемся на React 15 :)
07:01:41 ДП
User 57141131
20% посетителей сервиса сидят с IE8, и мы начали переписывать его части на React, похоже, что мы застрянем надолго на 0.14v
07:02:52 ДП
User 4627228
Видимо, это Европа и США :)
07:03:57 ДП
User 4627228
Мы в таких продуктах делаем disabled JS fallback и не используем flex, изоморфные приложения как раз отлично с этим всем справляются
07:04:54 ДП
User 120407271
А что у вас на сервере, Express\Koa ?
07:06:29 ДП
User 4627228
Да, Express/koa :) Как правило, это не критично. Раньше я предпочитал koa, потом перестал идти против течения. У них разница не сильно большая сейчас, в то время, как Express по умолчанию всеми поддерживается
07:08:04 ДП
User 139070619
koa, и поглядываю на koa2
07:08:39 ДП
User 120407271
Извини, у меня не очень много опыта в изоморфных. Правильно я понимаю, не все сторонние компоненты поддерживают серверный рендеринг? Для примера react-select, react-bootstrap. 

И если js disabled, то ни о каком flux\redux речи не идёт?
07:29:20 ДП
User 79501066
Express +1
07:32:06 ДП
User 481349
Какая на node.js в среднем скорость рендеринга сборной страницы, к примеру на 50 компонентов и на 5 запросов данных?
07:32:35 ДП
User 481349
Не конкретно, но для общей картины важно знать
07:40:54 ДП
User 168256037
круто!
07:41:09 ДП
User 168256037
долой скайп чаты, даешь Телеграм
07:46:24 ДП
User 686615
Ребята не вкурсе, че нить намечается типа MoscowJS ?
07:50:49 ДП
User 4627228
Про изоморфные приложения - некоторые могут не поддерживать, там есть особенности (например componentDidMount никогда не исполнится, как и нет window / document объектов и со всеми вытекающими, из-за чего не удаётся использовать react-leaflet). Но большинство компонент нормально поддается серверному рендерингу.
08:07:54 ДП
User 4627228
Олег, про рендеринг я в докладе показывал цифры: https://www.youtube.com/watch?v=PbK5xLmS0MU
youtube.com/watch?v=PbK5xLmS0MU
Продолжаем укреплять чувство вины у тех, кто посмел пропустил главное событие ноября в фронтэнд сообществе Москвы — November Tech Meetup, который мы целиком ...
08:09:19 ДП
User 4627228
Суть такая, что где-то 10х увеличение стоимости по времени, однако там есть нюанс - 10х потому что нам необходимо получить все данные удобным образом (отложенные и распределенные вызовы).
08:13:29 ДП
User 78986164
Подскажите как более православно определять хендлеры в React компоненте
1. В конструкторе - this.handleEvent = this.handleEvent.bind()
2. Arrow функция handleEvent = (event) => {...}
3. Как оператор :: - <button onClick={::this.handleEvent}
08:13:49 ДП
User 215373
handleEvent = (event) => {...}
08:13:55 ДП
User 215373
мне так больше нравится
08:13:59 ДП
User 215373
или через конструктор
08:14:34 ДП
User 120407271
1. В конструкторе - this.handleEvent = this.handleEvent.bind()

этот вариант хорош тем что сразу видны все обработчики
08:14:49 ДП
User 78986164
но как то не красиво
08:15:13 ДП
User 215373
через arrowFunction тоже все сразу видно
08:15:17 ДП
User 78986164
чем оператор :: плох?
08:15:30 ДП
User 215373
а если еще использовать соглашение на именование, так вообще песня
08:16:10 ДП
User 164450058
В конструкторе bind один раз вызывается. В рендере постоянно, что тоже не хорошо.
08:22:37 ДП
User 215373
constructor(props) {
    super(props);

    this.getRow = this.getRow.bind(this);
  }
08:22:52 ДП
User 215373
очень удобно, на самом деле
08:23:19 ДП
User 120647221
constructor(...args): void {
  super(...args);
  this.handleClick = ::this.handleClick;
}
08:23:23 ДП
User 120647221
вот так вообще красота
08:23:38 ДП
08:23:45 ДП
User 120647221
это flowtype
08:23:46 ДП
User 215373
а чем :void удобнее?
08:23:52 ДП
User 1245357
User 120647221
это flowtype
понял
08:23:58 ДП
User 215373
можешь в двух словах или ссылку почитать скинуть?
08:24:08 ДП
User 215373
@canvaskisa
08:24:09 ДП
08:24:20 ДП
User 120647221
статическая типизация для жс от фб
08:24:21 ДП
User 215373
tnx a lot!
08:24:51 ДП
User 1245357
@devall а кинь ссылку на конвертор в супер группу
08:24:54 ДП
08:27:14 ДП
User 739642
devall.ru/supergroup

но сейчас вроде прям в клиенте есть возможность
devall.ru/supergroup
Welcome to the Web application of Telegram to upgrade groups to Supergroups. See https://github.com/devall/supergroup for more info.
08:36:19 ДП
User 4627228
@renatn Есть ещё вот такой способ :) https://github.com/Coobaha/babel-plugin-class-autobind
github.com/Coobaha/babel-plugin-class-autobind
babel-plugin-class-autobind - binds prefixed class handlers
08:38:07 ДП
User 78986164
Как то стрёмно такое использовать)
08:38:58 ДП
User 120407271
3 звёздочки же есть, чего ты?)
08:39:08 ДП
08:42:05 ДП
User 4627228
React тоже не всем нравился сначала =))
08:43:20 ДП
User 139070619
еще декоратором можно https://github.com/andreypopp/autobind-decorator
github.com/andreypopp/autobind-decorator
autobind-decorator - Decorator to automatically bind methods to class instances
08:43:37 ДП
User 120407271
Ладно, тогда для автобиндинга можно использовать PostCSS плагин. Точно, точно.
08:52:03 ДП
09:06:09 ДП
User 4627228
Друзья ретвитим и пусть нас станет миллион https://twitter.com/denisizmaylov/status/719981892695638016
twitter.com/denisizmaylov/status/719981892695638016
Если вам нравится Telegram - присоединяйтесь в нашу группу для общения на темы React, Redux, React Native и Relay https://t.co/nEg8Jgmfxm
09:08:38 ДП
User 139070619
Что вы используете для ajax?
09:10:10 ДП
User 23384802
superagent + middleware для промисов
09:10:19 ДП
09:10:33 ДП
09:10:36 ДП
User 120407271
superagent
09:10:40 ДП
User 23384802
точнее 2 мидлвары. Одна для промисов, другая для генерации как раз суперагент запросов
09:11:38 ДП
User 656567
isomorphic-fetch
09:12:57 ДП
User 195691320
Друзья ретвитим и пусть нас станет миллион
09:13:17 ДП
User 195691320
Запостил в группе от имени сообщества, что б в ленте появилось
09:13:17 ДП
User 656567
5000 максимум
09:15:36 ДП
User 1682650
а можно как нибудь сделать, что бы телеграм для выбранной группы не показывал количество новых сообщений на иконке?
09:16:22 ДП
User 1682650
хочется заходить переодически и читать/писать, а постоянные нотификейшны сильно отвлекают
09:16:32 ДП
09:16:53 ДП
User 69227462
User 1682650
хочется заходить переодически и читать/писать, а постоянные нотификейшны сильно отвлекают
09:17:06 ДП
09:17:33 ДП
09:17:47 ДП
User 1682650
User 69227462
👍🏿
09:18:47 ДП
User 1682650
вообще интересно как месенджеры будут справляться с проблемой, что теперь они не персональные месенджеры, а группы, боты и все такое
09:19:04 ДП
User 1682650
список контактов теперь больше на ленту фейсбука похож
09:20:18 ДП
User 4627228
Это жизнь - раньше социальные сети были тоже только для друзей и узких групп (однокурсники или даже одноклассники ;) ), потом грань размылась и сейчас это большой социальный highway
09:22:13 ДП
User 1682650
ну поэтому то месенджеры и стали так популярны, потому что люди нашли способ уменьшить поток информации. Но всякие злые корпорации это заметили, решили что это не дело и активно набросились на это поле)
09:22:45 ДП
User 1682650
вчера на фейсбучной конфе просто кучу времени они пиарили своих ботов и мессенджер вообще
09:23:37 ДП
User 69227462
Это новая веха. Веб-интерфейсы получат серьезного конкурента в виде ботов.
09:23:38 ДП
09:24:45 ДП
User 1245357
@DenisIzmaylov сделай эту группу супер группой, плиз - devall.ru/supergroup
devall.ru/supergroup
Welcome to the Web application of Telegram to upgrade groups to Supergroups. See https://github.com/devall/supergroup for more info.
09:25:20 ДП
User 1682650
да, но в вебе я легко могу закрыть сайт и зайти на него когда захочу, в месенджере это уже не так просто
09:25:20 ДП
User 74329021
User 1682650
вообще интересно как месенджеры будут справляться с проблемой, что теперь они не персональные месенджеры, а группы, боты и все такое
Так же как справлялись ранее, всё это было и до всяких телеграмов, ирки там и прочее, просто было не так распространено
09:25:41 ДП
User 1682650
не, не на столько было
09:25:46 ДП
User 1682650
сейчас будет просто дикая волна
09:26:05 ДП
User 1682650
количество ботов и каналов в твоем месенджере будет расти как количество приложений на айфоне
09:26:09 ДП
User 656567
User 1245357
@DenisIzmaylov сделай эту группу супер группой, плиз - devall.ru/supergroup
devall.ru/supergroup
Welcome to the Web application of Telegram to upgrade groups to Supergroups. See https://github.com/devall/supergroup for more info.
уже без деволла можно
09:26:10 ДП
09:26:26 ДП
User 1245357
User 656567
уже без деволла можно
окей :)
09:27:42 ДП
User 69227462
Боты — конкурент реакт(ангулар/эмбер/фронтенд)-сообщества :)
09:27:45 ДП
User 656567
Since https://telegram.org/blog/supergroups5k, any group can upgraded to supergroup: To upgrade a group, go to Group Info and choose ‘Upgrade to Supergroup’.
telegram.org/blog/supergroups5k
Supergroups 2.0: up to 5,000 members, pinned messages, public groups and new moderation tools.
09:33:19 ДП
User 4627228
Так я эту группу сразу сделал Супер-группой :)
09:33:41 ДП
User 38673908
есть какие-нибудь опенсорс проект на react+redux которые можно было бы показать новичку для изучения?
09:34:32 ДП
User 4627228
https://github.com/reactjs/redux/tree/master/examples/real-world :)
github.com/reactjs/redux/tree/master/examples/real-world
redux - Predictable state container for JavaScript apps
09:34:40 ДП
User 120407271
Раз уж зашла речь про телеграм-ботов, может быть кто-то может показать своего ?  
09:35:25 ДП
User 1682650
мой 17см, не буду показывать(
09:35:30 ДП
User 38673908
не, real-world это мелочи
09:35:41 ДП
09:36:01 ДП
User 38673908
все подобные hello-world/todo-app/boilerplate никакого отношения к реальной разработке не имеют
09:36:47 ДП
User 1682650
ну если для новичка, то они самое то, потому что там ничего лишнего. А вот действительно реальных больших проектов для примера мне сильно не хватает
09:37:06 ДП
User 1682650
у кого нибудь есть большой проект с редуксом, которые бы не превратился в кашу?
09:37:11 ДП
User 1682650
мой вот превратился(
09:37:12 ДП
User 38673908
у меня
09:37:15 ДП
User 38673908
но я вам его не покажу 
09:37:19 ДП
09:37:21 ДП
User 74329021
User 120407271
Раз уж зашла речь про телеграм-ботов, может быть кто-то может показать своего ?  
У нас тестировщики делают обновления в базе через своего бота специального, т.к. все рабочие чатики всё равно в телеграмме, вот это реальный пример удобства ботов :)
09:37:32 ДП
User 74329021
но я вам его не покажу [2]
09:37:34 ДП
09:37:54 ДП
User 169239106
Денис, ты создал этот чат?
09:37:58 ДП
User 38673908
а что в редаксе может в кашу превратиться?
09:38:23 ДП
User 38673908
дробишь редьюсеры, переиспользуешь, радуешься
09:38:23 ДП
User 4627228
Звучит так, словно сейчас разборки начнутся :)
09:38:32 ДП
User 4627228
Иван - да
09:38:32 ДП
User 1682650
ну например стейт получается очень глобокий
09:38:34 ДП
User 189910313
survivejs еще как вариант для новичка
09:38:35 ДП
User 25721027
оу) А сюда в чат наверное можно и на ревью что-то кинуть?
09:38:41 ДП
User 38673908
можешь привести пример?
09:39:17 ДП
User 1682650
ну пример это весь код проекта, сложно его сюда привести. на сколько глубокий у тебя объект стейта?
09:40:36 ДП
User 38673908
ну, 5 вложенных объектов
09:40:52 ДП
User 38673908
но это один здоровенный объект который приходит с сервера, нет нужды его дробить
09:40:54 ДП
User 38673908
хотя и можно
09:41:15 ДП
User 38673908
вообще обрати внимание на библиотеку normalizr
09:42:36 ДП
User 1682650
у меня  пока где то 5-6 уровней вложенности(не считая здоровенных объектов с сервера). То есть в connect функции как то вот так выглядит получение значения из стейта state.campaignMicroservice.campaignForm.campaignData.form.values,name
09:42:40 ДП
User 38048300
Всем привет, рад что есть такое активное сообщество  😊
09:42:45 ДП
User 1682650
рефакторить это невозможно
09:43:32 ДП
User 38673908
нормализуй
09:43:34 ДП
User 38673908
должно помочь
09:43:36 ДП
User 1682650
для normalizr нужно что бы сервер возвращал ответы в определенном формате. Я к сожалению не контролирую api сервера
09:43:41 ДП
User 1682650
у меня все нормализовано
09:43:57 ДП
User 38673908
не нужно, ты же на клиенте структуру описываешь 
09:44:30 ДП
User 1682650
ну у меня и так есть отдельный объект entities со всему сущностями системы, примерно как в нормализере
09:45:08 ДП
User 169239106
А чем тебе наш чат в скайпе не нравится?
09:45:17 ДП
User 169239106
Или в гиттере?
09:45:38 ДП
User 38673908
гиттер лучше, кстати
09:45:56 ДП
User 1682650
у меня получается что структура стейта в какой то степени дублирует структуру компонентов
09:46:23 ДП
User 169239106
Саша, если это так то воспользуйся реакт граунд
09:46:32 ДП
User 169239106
И не нормализуй данные
09:48:37 ДП
User 1682650
реакт граунд?
09:48:45 ДП
User 38673908
у меня стейт тоже дублирует структуру компоненто
09:48:53 ДП
User 38673908
по-моему это норма
09:49:00 ДП
User 38673908
пока не нужно это переиспользовать
09:49:30 ДП
User 1682650
вот, а когда нужно переиспользовать, получается что часть дублирует, часть не дублирует
09:49:34 ДП
User 1682650
и понеслась
09:50:19 ДП
User 38673908
дробишь редьюсеры @ радуешься
09:50:32 ДП
User 169239106
Ground-control
09:50:40 ДП
User 38673908
https://github.com/raisemarketplace/ground-control
github.com/raisemarketplace/ground-control
ground-control - Scalable reducer management & powerful data fetching for React Router & Redux.
09:53:02 ДП
User 1682650
граунд - интересный подход
09:57:33 ДП
User 38673908
ну хз
09:57:36 ДП
User 38673908
нужен ли
09:57:44 ДП
User 38673908
вроде это и без него делается, не?
10:00:05 ДП
User 39182759
Ilya Pomaskin, [13.04.16 12:48]
у меня стейт тоже дублирует структуру компоненто

А классно было бы, если бы у компонентов был свой стейт и можно было бы не дублировать структуру... wait oh shi...
10:01:19 ДП
User 38673908
на одном из проектов так и есть
10:01:23 ДП
User 38673908
вполне неплохо работает, кстати
10:11:35 ДП
User 1682650
если хранить стейт в компоненте, то когда компонент дестроится, стейст пропадает. Это не всегда то что нужно.
10:12:56 ДП
User 1682650
а так я сейчас стараюсь все что не должно жить даже без компонента, хранить в его стейте, да
10:13:10 ДП
User 1682650
но теперь мы получаем два места где храниться стейт!
10:13:49 ДП
User 125547436
Бонжур
10:14:22 ДП
User 160533651
Разделяйте стейты и властвуйте (c)
10:14:59 ДП
User 4627228
Relay ещё не мейнстрим?)
10:24:57 ДП
User 1245357
алсо, вопрос для ИП'шников ... какой используете банк для р/с? :)
10:25:15 ДП
User 1245357
валюта - рубли
10:25:16 ДП
User 966744
Привет, react community, кажется у вас тут уютно  ;-)
10:25:54 ДП
User 966744
Мне очень хвалили Альфу
10:26:12 ДП
User 966744
Также у них все хорошо с валютным контролем
10:26:41 ДП
User 1245357
ок, Альфа +1 ... Дальше? :)
10:26:42 ДП
User 4627228
Андрей, выбирай Точку :)
10:26:47 ДП
User 4627228
и точка
10:26:50 ДП
10:26:54 ДП
User 1245357
Денис, у тебя там?
10:27:35 ДП
User 125547436
А что кто про точку скажет? У альфы хорошо — карта привязана к расчетному счету, меньше движений с платежками.
10:27:58 ДП
User 4627228
У всех так
10:28:07 ДП
User 125547436
Ну нет
10:28:09 ДП
User 4627228
Плюс до 500тр в месяц без комиссий
10:28:12 ДП
User 4627228
У Точки
10:28:22 ДП
User 1245357
User 4627228
Плюс до 500тр в месяц без комиссий
перевод или снятие? :)
10:28:24 ДП
10:28:28 ДП
User 125547436
Api есть? )
10:28:33 ДП
User 1245357
апи есть у Тинька
10:28:40 ДП
User 125547436
он с ип работает?
10:28:46 ДП
User 1245357
да, с этого года
10:28:49 ДП
10:28:59 ДП
User 54173658
а это точно чатик про реакт?
10:29:06 ДП
User 4627228
Зачем API? :) Бота в Slack?)
10:29:10 ДП
User 125547436
да, видишь же про Api спрашиваем
10:29:10 ДП
10:29:13 ДП
User 1245357
User 54173658
а это точно чатик про реакт?
лол
10:29:29 ДП
User 1245357
User 4627228
Зачем API? :) Бота в Slack?)
курсом баланс проверять .. прямо из консоли
10:29:32 ДП
10:29:37 ДП
User 1245357
*курлом
10:29:40 ДП
User 4627228
Да, парни делают систему автоматического перевода ЗП после удачного билда
10:30:00 ДП
10:30:10 ДП
User 54173658
а в ZSH можно сделать самообновляющийся prompt...
10:30:44 ДП
User 966744
Начислять зп с помошью Travis'а, очень хорошая мысль...
10:31:38 ДП
10:31:54 ДП
User 1245357
User 966744
Начислять зп с помошью Travis'а, очень хорошая мысль...
это прекрасно
10:32:24 ДП
User 649317
потом странным образом начнут тесты больно часто удачно проходить
10:32:58 ДП
User 200663920
привет всем
10:33:10 ДП
User 1245357
User 649317
потом странным образом начнут тесты больно часто удачно проходить
мотивация прям :)
10:33:16 ДП
User 1245357
привет
10:33:29 ДП
User 25721027
Подскажите какие щас на продуктовых проектах используются штуки с реактом? Просто крому redux ничего не попробовал + только middleware для fetch
10:33:30 ДП
User 966744
Дорогая, мы не купим тебе шубу в этом месяце, потому что миграции не накатились :-)
10:34:03 ДП
User 200663920
в основном redux и используется
10:34:51 ДП
User 49887481
Интересно, как быстро на таком проекте появится volkswagen? =) Volkswagen  https://github.com/auchenberg/volkswagen
github.com/auchenberg/volkswagen
:see_no_evil: Volkswagen detects when your tests are being run in a CI server, and makes them pass. - auchenberg/volkswagen
10:35:38 ДП
User 990107
@vfurso привет, Володя :)
10:35:58 ДП
User 49887481
User 990107
@vfurso привет, Володя :)
Привет =)
10:40:03 ДП
User 4627228
- Дорогая, мы не купим тебе шубу в этом месяце, потому что миграции не накатились
А она в ответ:
- Как не накатались?! Я же всю ночь твои спеки подчищала
10:41:14 ДП
User 130530262
день добрый
10:41:37 ДП
User 195691320
Есть очень скромное предложение снизить кол-во оффтопа.
10:42:06 ДП
User 78986164
Нужно создать чатик - офтоп реакт сообщества
10:43:08 ДП
User 4627228
Возвращаясь к теме, кто-нибудь нашёл для себя годное решение для модальных окон или каждый вручную создаёт?
10:43:23 ДП
User 4627228
reactjs/react-modal совсем никак
10:44:31 ДП
User 169239106
Чем тебе портал не нравится?
10:44:32 ДП
User 189910313
http://www.material-ui.com/#/components/dialog ?
10:47:38 ДП
User 195691320
User 169239106
Чем тебе портал не нравится?
А что за портал?
10:48:01 ДП
User 169239106
React portal, на нем реакт модал построен
10:52:29 ДП
User 72798168
Приветствую
10:54:55 ДП
User 1245357
User 4627228
Возвращаясь к теме, кто-нибудь нашёл для себя годное решение для модальных окон или каждый вручную создаёт?
да быстрее сделать самому как-то
10:59:32 ДП
User 187983007
Всем привет
11:00:46 ДП
User 1952378
Привяу
11:06:36 ДП
User 4627228
Кстати да, portal
11:06:52 ДП
User 4627228
Почему не он в reactjs?
11:07:46 ДП
User 25721027
Где найти список спикеров сегодняшнего митапчика? http://www.meetup.com/codecrafting/events/230143263/
meetup.com/codecrafting/events/230143263
Апрельский Engineering Kitchen!13 апреля в офисе ScrumTrek с докладом выступит Денис Измайлов.По итогам прошедшего доклада Дениса на AgileDays 2016 подкрепились самые страшные опасения. JavaScript эво
11:09:17 ДП
User 38228256
Слушайте, а сюда только про React — или про es6 и прочие транспайл-истории тоже можно?
11:09:29 ДП
User 1245357
User 38228256
Слушайте, а сюда только про React — или про es6 и прочие транспайл-истории тоже можно?
про все хипстерство в жс пиши
11:10:25 ДП
User 38228256
скинули вот сейчас вот такую штуку — onClick={::this.handleSubmit}>, спросили, что это. 
Умом понимаю, что это скорее всего аналогично this.handleSubmit.bind(this), но вот откуда взялся такой сахар, не могу найти
11:10:37 ДП
User 38228256
Кто-нибудь сталкивался?
11:10:42 ДП
User 54173658
bind operator
11:10:45 ДП
User 38228256
Да-да
11:10:45 ДП
User 54173658
это из stage 1 вроде
11:10:50 ДП
User 54173658
он клевый
11:10:52 ДП
User 38228256
где почитать можно про это, гугл че-то не
11:11:03 ДП
User 54173658
https://github.com/zenparsing/es-function-bind
github.com/tc39/proposal-bind-operator
proposal-bind-operator - This-Binding Syntax for ECMAScript
11:11:12 ДП
User 38228256
о, спасибо!
11:12:43 ДП
11:12:47 ДП
User 68520717
> использовать stage-1
11:14:08 ДП
User 38228256
Ребята, а кто-нибудь работал со звуками, используя вебпак/галп для сборки? Какой лоадер нужно использовать для этого — и как и при этом использовать, скажем, Howl?
11:14:34 ДП
User 1245357
file-loader ?
11:14:45 ДП
User 1245357
url-loader?
11:17:29 ДП
User 38228256
слушайте, действительно, все идеально работает, не знаю, что раньше не
11:17:30 ДП
User 38228256
спасибо!
11:17:38 ДП
User 38228256
file-loader использовал
11:19:02 ДП
User 160533651
Так и что, кто работу ищет?
11:20:23 ДП
User 25573493
Ну нормально общались, чего ты ты начинаешь )
11:34:47 ДП
User 125547436
Ребзя! Может быть вдруг у кого-нибудь из вас есть время и желание покопаться в одной проблеме?
https://github.com/bvaughn/react-virtualized/issues/160
github.com/bvaughn/react-virtualized/issues/160
I see one problem in Safari browser (9.0.3) on my Macbook. I'm trying this example https://bvaughn.github.io/react-virtualized/ with 10000 of rows. If I try to scroll quickly using touchpad, I'll s...
11:48:43 ДП
User 1267216
Господа, я сварщик не настоящий, поэтому с не очень умным вопросом.
Можно ли на client side подключить два скрипта с jsx или как-то инклюдить второй?
11:50:17 ДП
User 68025730
Jsx надо в js и можно
11:50:26 ДП
User 51695720
https://jsx.github.io/doc/importref.html
11:50:29 ДП
User 51695720
Возможно оно.
11:50:38 ДП
User 68025730
Но скорее всего вы делаете что-то не правильно)
11:58:56 ДП
User 1267216
Есть a.js, в котором описан react компонент
Есть b.js, в котором хочется использовать тот самый компонент из a.js.
12:01:09 ПП
User 68025730
Вынести компонент в отдельный файл и импортировать его и в а и в б?
12:02:29 ПП
User 68520717
@bwf_k что ты имеешь ввиду на клиент-сайде
12:03:22 ПП
User 1267216
Всё на стороне клиента в браузере собирается.
12:06:23 ПП
User 4257381
Формат TG чата не для обсуждений по топикам - FB лучшее место пока. Тут постоянно контексты пересекаются. 150 нотификаций за несколько часов - пожалуй отпишусь.
12:06:32 ПП
12:07:34 ПП
User 1245357
User 1267216
Есть a.js, в котором описан react компонент
Есть b.js, в котором хочется использовать тот самый компонент из a.js.
ES6?
12:10:37 ПП
User 68520717
тогда думаю всё просто, нужно чтобы эти два jsx компонента добавляли самих себя в глобальный скоуп
12:10:52 ПП
User 68520717
как в 2000 с jquery и его плагинами было
12:11:21 ПП
User 68520717
/cc @bwf_k
12:13:30 ПП
User 1768362
Под фб - имеется ввиду Фейсбук?
12:13:30 ПП
User 1768362
Формат TG чата не для обсуждений по топикам - FB лучшее место пока. Тут постоянно контексты пересекаются. 150 нотификаций за несколько часов - пожалуй отпишусь.
12:14:41 ПП
User 1245357
User 1768362
Под фб - имеется ввиду Фейсбук?
похоже что да
12:14:54 ПП
User 1245357
но общаться в фб - странная альтернатива
12:15:40 ПП
User 82770592
кстати, почему не слак?
12:15:48 ПП
12:15:56 ПП
User 1245357
истории сообщений нет
12:16:01 ПП
User 1768362
Имелись ввиду какие-то группы тематические? Где там обсуждать то
12:16:15 ПП
User 82770592
истории 10к, мало?
12:16:59 ПП
User 1768362
Мало, когда популярный канал с разными топиками
12:17:03 ПП
User 1245357
User 82770592
истории 10к, мало?
смотря сколько народу там :)
12:33:06 ПП
User 5757689
Всем привет!
12:33:45 ПП
User 5757689
Я девелопер из Питера, уже пару месяцев пишу изоморфоне приложение с редаксом :)
12:34:45 ПП
12:34:53 ПП
12:35:25 ПП
User 21727291
господа, кто пробовал Baobab JS в связке с React?
12:35:46 ПП
User 79501066
User 74329021
Сохраню
12:36:00 ПП
User 21727291
мемесы..
12:36:44 ПП
User 21727291
User 4257381
Формат TG чата не для обсуждений по топикам - FB лучшее место пока. Тут постоянно контексты пересекаются. 150 нотификаций за несколько часов - пожалуй отпишусь.
true.   Но ненадолго можно give peace a chance
12:41:29 ПП
User 82770592
а crm никто на реакте не пилил?)
12:42:08 ПП
User 90854158
User 82770592
а crm никто на реакте не пилил?)
есть такая облачная crm - salesforce. Я на ней вьюшку делал на реакте
12:42:56 ПП
User 82770592
С формами все норм было?
12:43:23 ПП
User 90854158
да, но у меня всё было просто
12:43:33 ПП
User 38228256
А теперь вопрос такой. Есть приложение на редаксе, простенькая игра (даже без canvas, все совсем просто). И есть в этой игре звуки. Звуки завязаны либо на действия пользователя, либо на изменение состояния игры (которое прописано в редьюсерах). Например, пользователь правильно решил головоломку, и проигрался звук “ПОБЕДА”. Вопрос.

Где место методу, который проигрывает этот звук “ПОБЕДА”? В редьюсере (где проверяется условие победы) или во view-компоненте (например, родительском)?

По идее, если я проигрываю это в редьюсере, то все очень удобно, но мы теоретически теряем разделение view и логики. Плюс часть этих звуков оказывается в редьюсере, а часть — в компоненте, в ответ на действия пользователя (хотя эту часть тоже можно запихнуть в редьюсер).

Если же я проигрываю это в компоненте, то вся интерфейсная часть хранится во view — но теперь надо частично дублировать эти проверки в componentWillReceiveProps и вообще активно следить, что изменилось, что не очень удобно.

В общем, у обоих решений свои преимущества и недостатки. Как вам кажется, что православней и чревато меньшими проблемами в будущем?
12:44:31 ПП
User 38673908
ему место в экшне или в компоненте
12:44:56 ПП
User 38673908
редьюсер должен быть чистым
12:45:00 ПП
User 38228256
То есть все-таки реакция на изменение состояния в willReceiveProps?
12:45:09 ПП
User 38673908
любая работа с внешним миром (звук в т.ч.) - нечистые
12:45:19 ПП
User 38673908
если все зависит от изменения
12:45:22 ПП
User 38673908
то лучше сложить в экшн
12:45:45 ПП
User 38228256
Тут есть нюанс — экшн может не знать, что нужно проигрывать звук
12:45:48 ПП
User 38673908
там проще будет отслеживать
12:45:53 ПП
User 38228256
он не знает, как изменится состояние
12:46:18 ПП
User 38228256
поэтому остается только willReceiveProps, реакция на изменение state
12:46:24 ПП
User 38673908
ну тогда, да
12:46:50 ПП
User 38228256
мне тоже кажется, что это звучит разумней, но конечно напрягает необходимость следить, что изменилось, что нет — вместо простой перерисовки
12:47:09 ПП
User 38228256
с другой стороны, у меня та же история с проигрыванием анимаций и так
12:47:21 ПП
User 38228256
Спасибо!
12:49:01 ПП
12:53:30 ПП
User 1682650
можно написать аналог reactDOM который вместо html будет рендерить звуки о_О
12:53:46 ПП
12:53:51 ПП
User 68520717
рендерить звуки?
12:54:24 ПП
User 1682650
ну для звука рендер это проигрывание
12:55:13 ПП
12:55:51 ПП
User 74329021
Нубства вопрос: А таки чем плохо иметь для всех звуков какой-то свой middleware гденить в редюсерах? :|
12:56:20 ПП
User 68520717
редьюсеры должны быть чистыми
12:56:33 ПП
User 1682650
и так же как реакт дом хранит текущее состояние виртуального дома, после изменения пропсов, строит новое, сравнивает и рендерит разницу, reactAudio будет проигрывать звук, при изменении пропсов виртуального проигрывать новый звук, сравнивать его с виртуальным старым звуков и реально прогригрывать только разницу о_О
12:57:53 ПП
12:59:07 ПП
12:59:47 ПП
01:00:31 ПП
User 1245357
User 1682650
и так же как реакт дом хранит текущее состояние виртуального дома, после изменения пропсов, строит новое, сравнивает и рендерит разницу, reactAudio будет проигрывать звук, при изменении пропсов виртуального проигрывать новый звук, сравнивать его с виртуальным старым звуков и реально прогригрывать только разницу о_О
кстати, в разработке антивируса попова не принимал участие? :)
01:01:35 ПП
User 38673908
react audio уже был, кстати
01:01:51 ПП
User 38673908
что-то для работы с midi делали
01:08:04 ПП
User 1395200
User 1245357
не Ъ
Чем же?
01:08:28 ПП
User 1395200
Ограничение по кол-ву сообщения в бесплатной версии, конечно
01:09:55 ПП
User 160533651
Сделал https://reactjsru.slack.com кого пригласить?
01:10:31 ПП
User 47375937
dex157@gmail.com
01:14:15 ПП
User 38228256
а зачем, если есть All That JS?
01:15:07 ПП
User 38228256
и там есть канал про Реакт
01:16:19 ПП
User 160533651
Дай адрес посмотреть
01:17:01 ПП
User 38228256
http://allthatjs.herokuapp.com/
01:17:45 ПП
User 160533651
Много там народу?
01:17:53 ПП
01:22:44 ПП
User 160533651
Да, спасибо. Думаю что коммьюнити маленькое, размазывать его не стоит. Думаю надо везде пропиарить allthatjs везде.
01:25:52 ПП
User 160533651
По факту телеграмм в больших группах удобен только для объявлений
01:26:53 ПП
User 68520717
> Да, спасибо. Думаю что коммьюнити маленькое, размазывать его не стоит. Думаю надо везде пропиарить allthatjs везде.
коммьюнити не такое маленькое, промоутинг allthatjs засчитан
01:28:07 ПП
User 38228256
Я про другие группы в слэке не знаю(
01:28:31 ПП
User 38228256
Но мне кажется, будет очень разумно, если будет одна общая группа в слэке на русском языке
01:29:07 ПП
User 38228256
Проблема allthatjs конечно в том, что он довольно мертвенький, тут вот вроде есть движуха (хотя это возможно потому что сегодня первый день)
01:29:14 ПП
User 47375937
russiandevs.slack.com
01:29:22 ПП
User 47375937
самая круная по разработчикам
01:29:25 ПП
User 160533651
Ну если что, шлите емайлы - пришлю инвайты
01:29:28 ПП
User 38228256
о, а как вступить?
01:29:42 ПП
User 47375937
https://rusdevs.herokuapp.com/
01:29:49 ПП
User 38228256
спасибо!
01:30:09 ПП
User 68520717
существует много альтернатив: слак (десятки чатов), гиттер, подкасты, скайп, телеграм
01:30:30 ПП
User 38228256
подкасты — это другое же совсем, речь про общение
01:30:48 ПП
User 68520717
они тоже про общение
01:30:53 ПП
User 38228256
ну вот про другие чаты я как раз и спрашиваю)
01:30:54 ПП
User 68520717
и комьюнити
01:30:56 ПП
User 38228256
в слэке
01:31:25 ПП
User 68520717
+ дискорс
01:31:54 ПП
User 68520717
хекслет, вебстандарты, реакт, бутстрап и ещё десятки коммьюнити с чатами на разные темы
01:32:04 ПП
User 68520717
одна группа это утопия
01:32:29 ПП
User 38228256
одна основная, в которой есть все — почему нет
01:32:54 ПП
User 81222295
и какие подкасты есть про реакт?
01:32:58 ПП
User 38228256
вообще, в условиях информационного обжорства, это самое разумное решение
01:40:58 ПП
User 160533651
Что то russiandevs какое-то мертвенькое
01:43:35 ПП
User 38228256
Возможно это вообще проблема сообществ в слэке
01:44:00 ПП
User 47375937
там ruby активно
01:44:07 ПП
User 47375937
активнее остальных направлений
01:44:08 ПП
User 4627228
Slack не работает для чатов
01:44:08 ПП
User 68520717
вот здесь достаточно часто https://javascriptair.com/
javascriptair.com
The live JavaScript podcast all about JavaScript and the web platform. Available on YouTube, iTunes, and an RSS audio feed
01:44:27 ПП
User 160533651
А самое большое англоязычное по реакту кто знает?
01:45:22 ПП
User 4627228
Вообще сейчас проблема всех этих профильных чатов две:
- требуется отдельное приложение, в которое необходимо переключаться, что часто неудобно (Telegram и Skype не имеют этого недостатка)
- клиентское приложение тяжелое для мобильного (Telegram не имеет этого недостатка)
01:45:55 ПП
User 1245357
Так же не забывайте про официальный https://discordapp.com/
discordapp.com
Step up your game with a modern voice & text chat app. Crystal clear voice, multiple server and channel support, mobile apps, and more.
01:46:00 ПП
User 1245357
вот там-то много народу
01:46:38 ПП
01:46:39 ПП
01:46:40 ПП
User 4627228
https://telegram.org/faq#groups-supergroups-and-channels
telegram.org/faq
This FAQ provides answers to basic questions about Telegram. Check out our Advanced FAQ for more technical information.…
01:56:38 ПП
User 120407271
Спрашивал про подкаст, может быть он - http://reactpodcast.com/
reactpodcast.simplecast.fm
Conversations about React with your favorite developers.
02:01:04 ПП
User 120407271
Ну и внесу свои "5 копеек" про гиттер, слак, скайп, дискорд, джаббер, ...

Я мессенджерами никогда не пользовался, вот вся эта эра WhatsApp прошла мимо меня. А вот попробовал Telegram и прям понравилось. Даже не знаю чем.

Так что для меня формат чата в Telegram намного удобнее чем в Slack (честного говоря он крут для работы, но мне кажется его перемудрили).
02:04:02 ПП
User 23384802
User 38228256
Тут есть нюанс — экшн может не знать, что нужно проигрывать звук
Экшен все знает, нет ничего плохого в том, чтобы получать getState() внутри него
02:19:04 ПП
User 1682650
User 23384802
Экшен все знает, нет ничего плохого в том, чтобы получать getState() внутри него
по мне так использование getState в экшене добавляет еще одно место (помимо connect функции) где нужно хардкодить пути в стейте. Если стейт большой и сложный это не есть гуд. Всегда стараюсь передать в экшен из компонента все что ему нужно сразу.
02:19:32 ПП
User 38228256
> Экшен все знает, нет ничего плохого в том, чтобы получать getState() внутри него
И дублировать логику из редьюсера? wat
02:19:52 ПП
User 23384802
Да, я также делаю, ни разу еще не потребовалось делать getState внутри экшена, но я видал обсуждение этого в конфе гиттера. Народ делает, почему бы и нет
02:19:55 ПП
User 38228256
не говоря уж о том, что вначале выполняется экшн, а потом логика из редьюсера — где курица, где яйцо
02:20:14 ПП
User 23384802
в любом случае, код не должен быть в редюсере
02:20:24 ПП
User 38228256
с этим согласился, да
02:21:24 ПП
User 38228256
но я же правильно понимаю, что вся логика приложения (как менять стейт в ответ на действие пользователя) — именно в редьюсере? или я и этого не понимаю?
02:21:30 ПП
User 23384802
пожалуй, я тоже запихал бы в утилс, а его бы заюзал в cdm, cwrp или еще куда-то (в зависимости от ситуации)
02:22:07 ПП
User 23384802
Проще всего представь редюсер как обычную функцию, которая принимает значение и возвращает. Никаких дополнительных вызовов внутрм неё, даже если ты хочешь просто кукисы записать
02:22:10 ПП
User 47375937
редьюсер это скорее про применение изменений к стэйту
02:22:14 ПП
User 189910313
редюсер же возрващает новый стейт
02:22:16 ПП
User 189910313
просто
02:22:17 ПП
User 38228256
Да-да, все правильно)
02:22:21 ПП
User 38228256
я уж заволновался)(
02:22:27 ПП
User 189910313
а логика в компоненте
02:22:33 ПП
User 38228256
стоп-стоп
02:22:37 ПП
User 38228256
тогда не понимаю
02:23:14 ПП
User 23384802
не всегда. На примере тех же кукисов. Допустим есть экшен "получить кораблики", он фетчит данные с сервера. 
Мы в экшене же ждем, когда они вернутся, проверяем что все ок и ставим кукисы. Далее в редюсере уже меняется стейт. Разумеется руками такое не пишут все. помогают мидлвары
02:23:16 ПП
User 23384802
но логика такая
02:23:29 ПП
User 38228256
есть игра-сапер. Функции, которая проверяет то, отмечены ли все мины флажками, место в компоненте или в редьюсере?
02:24:30 ПП
User 57648988
User 38228256
есть игра-сапер. Функции, которая проверяет то, отмечены ли все мины флажками, место в компоненте или в редьюсере?
В компоненте, и желательно использовать react-reselect — он дает ускорение за счёт мемоизации результата вычисления
02:25:14 ПП
User 38228256
таааак, мне нужно разбираться в матчасти)
02:26:22 ПП
User 38228256
уже два приложения на редаксе написал, до этого только смотрел Абрамовские скринкасте на egghead.io — и я думал, что все, что связано с изменением стейта, должно быть в редьюсере
egghead.io
Concise screencast video tutorials that cover the best tools, libraries, and frameworks that modern javascript web developers can use to code more effectively and stay current.
02:26:36 ПП
User 160533651
Экшен ничего не фетчит, это объект. Причём стандартизированный - FSA. Редуктор состояния ничего не фетчит - это pure function. Компонент тоже ничего не фетчит. Фетчить может что-то, связанное с ActionCreator
02:27:12 ПП
User 23384802
ну, это очевидно. к именам нет смысла в данный момент придерираться. action или actionCreator
02:28:18 ПП
User 160533651
Лучше писать правильно, потому что люди потом начинают кодить как попало
02:28:35 ПП
User 23384802
Роман, как тебе удобнее. Но начать надо с того, что будет два допустим экшена "закончить игру" и поставить "флажок". Далее ты можешь вызывать "поставить флажок" на handleClick. Там уже будешь диспатчить "игра закончена" если нужные условия совпали. Или же ты можешь проверять все внутри handleClick и вызвать один из двух экшенов, а саму проверку выкинуть в утилс
02:28:37 ПП
User 57648988
User 38228256
уже два приложения на редаксе написал, до этого только смотрел Абрамовские скринкасте на egghead.io — и я думал, что все, что связано с изменением стейта, должно быть в редьюсере
egghead.io
Concise screencast video tutorials that cover the best tools, libraries, and frameworks that modern javascript web developers can use to code more effectively and stay current.
Есть state, а есть dependant state, первый в редьюсере, а второй — лучше в  селекторах
02:28:53 ПП
User 1682650
User 38228256
таааак, мне нужно разбираться в матчасти)
да нет здесь никакой матчасти. надо пробовать и смотреть как удобнее/лучше. Сейчас куча всяких правил типа "редьюсеры должны быть чисыми", "нельзя использовать стейт компонентов", "компоненты должны быть поделены на тупые и умные" и т д. Будешь слепо этому следовать этому, а потом окажется, что для твоего приложения это совсем не подходит
02:29:20 ПП
User 38228256
Слушайте, но react-reselect — это же получается просто надстройка над редьюсерами? Которая просто абстрагирует получение информации о состоянии отдельных частей стейта
02:29:37 ПП
User 38228256
То есть у меня два приложения были простые — и все эти проверки были в редьюсерах
02:29:50 ПП
User 38228256
То есть просто необходимости в дополнительной абстракции не было
02:30:20 ПП
User 23384802
думаю, не стоит прыгать прямо сейчас на reselect. Он ничего не поменяет в твоем аппе, лучше правильную архитектуру настроить, разобраться, а потом уже прикрутить
02:30:22 ПП
User 38228256
> Есть state, а есть dependant state, первый в редьюсере, а второй — лучше в  селекторах
Второй рассчитыватеся из основного, да
02:31:32 ПП
User 23384802
твой вариант с сапером я бы и сам запихал в handleClick предварительно выкинув в утилс. Не люблю логику в actionCreator, потом запустаться можно
02:32:17 ПП
User 23384802
Но бывают исключения, например
02:32:26 ПП
User 39182759
а разве "игра закончена" - это не стейт?
02:32:28 ПП
User 38228256
У меня клик прогоняется через action в reducer — а там уже осуществляются все проверки и при необходимости меняется стейт (добавляется флаг в соответствующий элемент двухмерного массива)
02:33:04 ПП
User 38228256
Соответственно на стороне компонента — это просто вызов экшна в handleClick, все, связанное с изменениями — в reducer
02:33:07 ПП
User 23384802
export const apiGetNextPost = (data, callback) => ({
  mode: 'GET',
  type: 'GET_NEXT_POST',
  url: 'posts/next',
  data,
  onSuccess: (res, dispatch) => {
    if (res.test) {
      dispatch(OkOkOkOkOk(res.post.id));
    }
    
    callback(res);
  },
});
02:33:12 ПП
User 23384802
типа эта штука работает через мидлвару
02:33:19 ПП
User 23384802
та загрузит суперагентом инфу. Сработает onSuccess
02:33:28 ПП
User 23384802
в нем передастаться управление в кэллбек, он сработает в компоненте
02:33:33 ПП
User 23384802
и тут же ты можешь задиспатчить еще одно действие
02:33:45 ПП
User 23384802
ну, и еще сработает промис мидлвара, которая добавит _SUCCESS
02:33:52 ПП
User 23384802
и в редюсере будет 'GET_NEXT_POST_SUCCESS'
02:34:07 ПП
User 23384802
таким образом можно получить значение в редюсере, в экшене, в кэллбеке вызова в компонента
02:34:09 ПП
User 23384802
в трех местах)
02:34:28 ПП
User 160533651
Смотрите redux-promise-middleware
02:34:34 ПП
02:35:45 ПП
User 23384802
тут она тоже юзается. onSuccess нужен лишь для того, чтобы передать в кэллюек или вызвать еще один экшен, если нужные условия
02:36:08 ПП
User 152469812
о, привет
02:36:12 ПП
User 47375937
мидлвэр как примерах абрамова из realworld redux?
02:36:36 ПП
User 23384802
https://github.com/pburtchaell/redux-promise-middleware/blob/master/src/index.js
github.com/pburtchaell/redux-promise-middleware/blob/master/src/index.js
redux-promise-middleware - Enables simple, yet robust handling of async action creators in Redux
02:36:47 ПП
User 23384802
я юзаю эту, но чуть поправил, чтобы работала с еще одной мидлварой
02:37:12 ПП
User 47375937
ну да, похожа на абрамовску
02:37:13 ПП
02:37:48 ПП
User 23384802
вторая мидлвара для генерации суперагент запроса. Она также делает проверку onSuccess, onFailure и как раз вызывает те функции 
02:38:03 ПП
User 23384802
http://joxi.ru/v29L6nnfGKZLkm
02:38:38 ПП
User 23384802
впрочем joxi как обычно умер )
02:45:17 ПП
User 4627228
Ребят, а есть какая-нибудь ссылка, которая в картинках показывает, как отключать нотификации для группы?
02:45:52 ПП
User 4627228
Добавлю в описание группы
02:46:10 ПП
User 23384802
Только если самому делать - если через веб интерфейс, то надо кликнуть на название канала. Хотя, пожалуй, ты уже знаешь)
03:15:00 ПП
User 215373
Олег!
03:21:56 ПП
User 309556
когда закончится гонка чатов по реакту?
03:22:44 ПП
User 1682650
когда я доделаю свой. вот тогда точно все перейдут на него
03:25:31 ПП
User 38228256
react chat fatigue
03:31:16 ПП
User 122105125
а потом появятся почтовые рассылки :)
03:32:37 ПП
User 38228256
почтовые переписки!
03:33:25 ПП
User 309556
эхо конференции
03:37:18 ПП
User 152469812
до голубиной почты с дискетами ещё не дошли?
04:05:39 ПП
User 309556
кто в Питере? скажите, есть ли смысл идти на spb frontend сегодня тем кто не верстает?
04:05:53 ПП
User 309556
и будет ли афтепати?
04:17:52 ПП
User 77929618
Я пойду чтобы в хорошей рабочей атмосфере покодить]
04:18:39 ПП
User 57648988
User 309556
когда закончится гонка чатов по реакту?
you made my day! 👍
04:20:10 ПП
User 309556
у нас MoscowJS десант
04:20:21 ПП
User 39182759
кстати можно написать бота, который будет каждый день задавать вопросы.
- как сделать серверсайд-рендеринг?
- я хочу вставить яндекс-карты, мне писать миддлваре или вставить их в экшн?
- как в реакт-роутере пропихивать пропсы в роут-компоненты?

и подписать его на все чатики
04:20:46 ПП
User 309556
^ збс
04:24:51 ПП
User 160533651
Я за hr бота поработаю. - - - Работа нужна?
- А если найду?
04:39:29 ПП
User 4257381
Хорошая спека вырисовывается для ML / чатбота, обслуживающего запросы тематических комьюнити
04:39:47 ПП
User 4257381
Это пожалуй стэковерфлоу ниша
04:40:00 ПП
User 4257381
Надо посмотреть у них
04:40:20 ПП
User 4257381
Для ФБ того гляди точно склепают ботика
04:40:42 ПП
User 4257381
Всмысле для их Мессенджера
04:42:01 ПП
User 4257381
Участники комьюнити могут подписаться на отдельные треды и саппортить/обучать бота
05:30:21 ПП
User 1682650
а как кто именует компоненты? все придерживаются рекомендации фейсбука давать всем компонентам уникальные имена? У меня уже очень длинные выходят. Боюсь рано или поздно в лимит на длинну файла упрусь :)
05:31:09 ПП
User 47375937
еще по бэму можно попробовать )
05:33:48 ПП
User 1682650
ну тоже получатся длинные, получается надо в имени файла его путь отражать полюбому, что бы он был уникальным
05:35:39 ПП
User 57648988
Я за flat структуру с уникальными именами. Если надо иерархию — даёшь небольшой префикс. Всё по алфавиту всё равно в списке.
05:36:10 ПП
User 47375937
я сейчас пишу на нэтиве, и все сцены соответствуют именам ресурсов, которые они отражают, соответственно hotels - список, hotel - сцена с отелем и тд
05:36:55 ПП
User 1682650
и сколько у вас компонентов в проекте что влезают в плоские списки?
05:37:16 ПП
User 1682650
кажется больше 10-20 файлов в одной папке это уже анриал
05:37:16 ПП
05:37:20 ПП
05:39:39 ПП
User 47375937
я думаю что нибудь такое попробовать, деление на dummy smart не спасает
05:39:40 ПП
User 47375937
http://bradfrost.com/blog/post/atomic-web-design/
bradfrost.com/blog/post/atomic-web-design
Hey there! I wrote a book called Atomic Design that dives into this topic in more detail, which you can buy in paperback and/or ebook formats. We’re not designing pages, we’re designing systems of components.—Stephen Hay As the craft of Web design continues to evolve, we're recognizing the need to
05:40:19 ПП
User 57648988
У нас 300 компонент в одной папке (это ~700 файлов т.к. js+css+etc). Команда пользуется sublime fuzzy search, очень удобно. И чёткие префиксы решают.
05:41:17 ПП
User 57648988
Пробовал структуру где каждая компонента в отдельной папке — не работает, т.к. тупой Atom пишет index.js в заголовке каждой вкладки. Sublime чуть умнее, но недалеко ушёл.
05:41:28 ПП
User 1682650
у меня сначала были две папки для дамми и смарт, "как завещал великий ден", но потом понял, что это ужасно неудобно. Теперь кладу смарт компонент рядом с тупым компонентом если он нужен и именую так:
Blah.js
BlahContainer.js
05:42:06 ПП
User 47375937
у меня все смарты обвязаны с редуксом через коннект, а дамми о стэйте ничего не знают
05:42:08 ПП
User 1682650
700  файлов в одной папка, уоу
05:42:51 ПП
User 57648988
ctrl+k, ctrl+b
и ctrl+p 
😉
05:42:55 ПП
User 12791
если репозиторий очень большой, то уже неважно какая структура директорий :) приходится fuzzy finder пользоваться и проще наверное плоской структурой пользоваться
05:43:31 ПП
User 1682650
четкие префиксы это замена папок? все равно же они иерархические получаются, типа:
Blog.js
BlogPost.js
BlogPostComment.js
?
05:43:33 ПП
User 12791
у меня был проект на пару тысяч компонентов. если все организовывать в красивую структуру, то рано или поздно приходит '../../../../../../' ад
05:43:35 ПП
User 23384802
User 57648988
У нас 300 компонент в одной папке (это ~700 файлов т.к. js+css+etc). Команда пользуется sublime fuzzy search, очень удобно. И чёткие префиксы решают.
использую вложенность components/Modules/Header/index.js
fuzzy search саблайма также прост
05:43:38 ПП
User 23384802
в пользу такой вложенности:
05:43:42 ПП
User 23384802
1) стили рядом с компонентом
05:43:49 ПП
User 23384802
2) json файлы переводом там же
05:44:06 ПП
User 23384802
3) можно раздробить на мелкие подкомпоненты, которые юзает лишь этот компонент и положит рядом (если надо), сам так не делаю
05:44:12 ПП
User 23384802
4) тесты в этой же папке
05:44:19 ПП
User 23384802
в сумме выходит файлов 10 на 1 компонент
05:44:42 ПП
User 47375937
кстати, а кто как держит тесты, в папке с кодом или в отдельной папке, со схожей иерархией?
05:45:01 ПП
User 1682650
тесты? пфф
05:45:05 ПП
User 1682650
сразу в продашен
05:45:32 ПП
User 1682650
User 12791
у меня был проект на пару тысяч компонентов. если все организовывать в красивую структуру, то рано или поздно приходит '../../../../../../' ад
да, относительные пути меня сильно бесят
05:45:53 ПП
User 23384802
рядом лучше, думаю. Но можно сделать еще папочку app/test/setup.js
Там будет инициализация всех переменных и прочее. Если надо какой-то хелпер юзать для тестов, то там же создаешь папку helpers, например
Потом подрубаешь алиасы вебпака и можно писать
import { helper } from 'test/helpers/helper'
сам же тест разумеется в папке с компонентом или редюсером
05:46:10 ПП
User 12791
@dex157 только в папке с кодом и не иначе. зеркальные иерархии никогда не работали
05:46:42 ПП
User 23384802
алиасы еще можно сделать для SSR
05:46:43 ПП
User 47375937
я на фронте недавно начал только писать, на бэке в рельсах тесты отделно просто
05:46:45 ПП
User 23384802
вот тогда вообще бомба)
05:46:53 ПП
User 47375937
тесты писать в смысле )
05:47:15 ПП
User 1768362
Кто-нибудь подключал алиасы вэбпака к аве?
05:47:24 ПП
05:47:56 ПП
User 1768362
https://github.com/sindresorhus/ava
github.com/avajs/ava
:rocket: Futuristic JavaScript test runner
05:47:57 ПП
User 23384802
если о том как заюзать их на сервере
05:48:07 ПП
User 23384802
то есть удобненький плагин babel-plugin-webpack-alias. хотя он маленький и можно самому написать )
05:48:44 ПП
User 23384802
User 1768362
https://github.com/sindresorhus/ava
github.com/avajs/ava
:rocket: Futuristic JavaScript test runner
не юзал это, но можно заюзать тот же хак, что я юзаю для mocha
05:48:46 ПП
User 23384802
может поможет, сек
05:49:02 ПП
User 23384802
"test": "NODE_PATH=./app mocha --require ./bin/test.js 'app/**/*spec.js'",
05:49:04 ПП
User 23384802
например
05:49:35 ПП
User 23384802
package.json. И теперь будут искаться импорты внутри ./app,и работать import Header from 'components/Header'
05:50:27 ПП
User 23384802
а здесь есть те, кто юзает css modules и радуется этому?)
05:50:51 ПП
User 57648988
Использую CSS Modules для лендинга :)
05:51:00 ПП
User 47375937
юзаю import { StyleSheet } from 'react-native'; )
05:51:07 ПП
User 47375937
b hfle.cm )
05:51:08 ПП
User 1768362
Ок, попробуем :)
05:51:10 ПП
User 47375937
и радуюсь )
05:51:39 ПП
User 23384802
после опыта с ними я понял, что нет ничего лучше старого бэма))
05:51:55 ПП
User 1768362
Почему, норм же?
05:52:24 ПП
User 23384802
слишком сложным показался
05:52:32 ПП
User 23384802
вот смотри. вот такой вопрос
05:52:58 ПП
User 23384802
есть компонент List и есть компонент Child
05:53:48 ПП
User 23384802
Как мне изменить стили компонента Child при ховере на компонент List через ксс без использования js или прокидывания пропсами. В ксс модулес можно юзать лишь extend, который работает как обычный extend в sass
05:53:51 ПП
User 23384802
вот как ты решишь такую задачу?
05:54:52 ПП
User 47375937
а прокидывать через пропс нельзя?
05:55:00 ПП
User 23384802
ну вот, о чем и говорю
05:55:22 ПП
User 23384802
а если у меня сайт должен измениться и я ставлю на рутовый компонент класс какой-нибудь. К примеру site-test1
05:55:25 ПП
User 23384802
и допустим таких классов 100
05:55:30 ПП
User 23384802
как ты решишь задачу?
05:55:38 ПП
User 23384802
в каждом подкомпоненте будешь вешать &.site-test
05:55:41 ПП
User 1768362
Можно использовать глобальный класс обычный
05:55:56 ПП
User 57648988
:global или JS hover
05:56:06 ПП
User 1768362
И написать что то вроде 
:global(.list) .item {}
05:56:14 ПП
User 47375937
а context ?
05:57:00 ПП
User 23384802
хм, что про глобальный класс не подумал. Но решение как-то тоже не нравится)
05:57:04 ПП
User 23384802
с бэмом привычнее
05:58:04 ПП
User 23384802
если таких классов будет много, то опять же таки инкапсуляции не будет и надо будет писать ункиальное имя класса. Часть будет инкапсулировано, а часть нет. Как-то хз )
05:59:53 ПП
User 57648988
JS hover — решение ;) Не так уж страшно
У JS hover есть большой плюс, можно через React Storybook показать на одной странице normal+hover состояния компонента, довольно удобно в вёрстке сложных компонент  https://voice.kadira.io/introducing-react-storybook-ec27f28de1e2#.2cojh6zej
voice.kadira.io/introducing-react-storybook-ec27f28de1e2
Introducing React Storybook. With React Storybook, you can develop and design UI components outside your app in an isolated environment. It will change how you develop…
06:01:56 ПП
User 57648988
storiesOf('NotificationItem', module)

  .add('Normal state', () =>
    <NotificationItem data={data} />)

  .add('Hover state ', () =>
    <NotificationItem data={data} hover />)
06:05:18 ПП
User 57648988
Рома Дворнов рассказывал, как за счёт этого подхода можно найти subtle баги, типа когда есть кнопка, есть у неё hover, и есть disabled. По отдельности ок. Но когда hover+disabled (тут наверное все помнят) вылезает какой-то глюк с CSS, — и JS hover вместо CSS hover тут помогает поднять качество. Просто все состояния компоненты можно увидеть одним глазом.
06:13:18 ПП
User 1682650
если я правильно понимаю то реакт идет к тому, что бы для таких вещей контекст использовать
06:14:11 ПП
User 47375937
вот не понятно, нормально ли будет от детей родителю контекст менять
06:14:29 ПП
User 1682650
надеюсь нет)
06:14:45 ПП
User 47375937
ну я тоже надеюсь )
06:14:47 ПП
User 1682650
экшн отсылай какой нить
06:39:10 ПП
User 4627228
За сутки нас уже больше 200! Парни, вы - сила!💪
06:39:59 ПП
User 309556
Денис, ты же в курсе, что есть старый чатик с 1к пользователей в гиттере?
06:40:04 ПП
User 4627228
Зачитываюсь
06:40:44 ПП
User 1682650
чем меньше юзеров тем лучше. Большое количество людей генерирует нечитаемся поток_
06:41:05 ПП
06:42:29 ПП
User 4627228
Серег, я уже писал, но повторю. Slack, Skype, Gitter, Discord - всё это не юзабельно на мобильных и дико ест аккумулятор. Telegram - самый быстрый и экономичный способ коммуникации.
06:43:46 ПП
User 309556
именно поэтому ты предлагаешь добавить к рабочим чатикам в слаке, скайпе и чатикам в гиттере еще и телеграм?
06:50:19 ПП
User 4627228
Лично сам предпочитаю Скайп - только для голоса и видео (или альтернатива), а Gitter раз в месяц могу открыть. А могу и не открыть.
06:51:02 ПП
User 309556
зря. я очень годные срачики в гиттере развожу
06:59:27 ПП
User 4627228
Одна из причин его не использовать)
06:59:30 ПП
User 172831598
User 309556
именно поэтому ты предлагаешь добавить к рабочим чатикам в слаке, скайпе и чатикам в гиттере еще и телеграм?
перевести рабочие на телеграм ))
06:59:42 ПП
07:06:16 ПП
User 309556
думаешь я тут не разведу?
07:09:59 ПП
User 309556
а вообще зря. говорю ж срачики годные. читай полезные
07:11:56 ПП
User 23384802
срачики про декораторы?)
07:12:18 ПП
User 604813
А кто там следит за F8, что-нибудь годное уже показали?
07:12:24 ПП
User 309556
про всякое
07:12:30 ПП
User 309556
показали
07:12:41 ПП
User 309556
но мне лень писать с телефона
07:13:30 ПП
User 1768362
React native в Windows apps
07:13:42 ПП
User 309556
rn под винду на десктопы, мобилы и хбох с гололенсом, самолёт с вайфаеем для бедных
07:13:54 ПП
07:13:57 ПП
07:14:12 ПП
07:17:58 ПП
User 23384802
https://toddmotto.com/angular-3-alpha
toddmotto.com/angular-3-alpha
07:18:13 ПП
User 23384802
блин, не в тот чат
07:18:56 ПП
User 1682650
АНГУЛяР ОТСТОЙ!!!1!!!21
07:22:03 ПП
User 23384802
Слишком категорично.В первую очередь это инструмент для разработки. По началу в вебе всегда пытаешься все делить на хорошее и плохое, в последствие лучше анализируешь и спокойно ко всему относишься
07:27:59 ПП
07:44:57 ПП
User 74329021
Но пошутили с третей версией смешно, с налётом иронии
08:10:45 ПП
User 1395200
User 68520717
существует много альтернатив: слак (десятки чатов), гиттер, подкасты, скайп, телеграм
А никто ещё не собрал awesome-лист?
09:06:47 ПП
User 4257381
Мы кстати сравнивали в офисе что полезнее для работы - Слак победил, тк в основном все с ноутов работают, но в слаке есть зло @channel и @here (что для #general можно выключить/настроить права), однако есть и платное добро типа @managers / @designers / @testers / @developers. Из вкусного есть посты и камменты к ним, однако для постов нет отдельного удобного представления like FB.
09:07:34 ПП
User 4257381
*like FB groups / posts
09:08:59 ПП
User 4257381
Ах да, emotions / reactions - то чего fb добавил в ограниченном наборе из 6 вариантов)
09:09:49 ПП
User 4257381
+ кастомные реакции типа :НИЧОСИ: или :[||||||]:
09:12:55 ПП
User 4257381
И да, телеграм персональный, а слак доменный
09:13:01 ПП
User 162236709
https://blogs.windows.com/buildingapps/2016/04/13/react-native-on-the-universal-windows-platform/
blogs.windows.com/buildingapps/2016/04/13/react-native-on-the-universal-windows-platform
Today, Microsoft and Facebook announced at Facebook’s developer conference, F8 2016, that we’re adding Universal Windows Platform (UWP) support to React Native. This is provided as an open source, community-supported framework. The new UWP support extends the reach of these native apps to a new market of 270 million active Windows 10 devices, and the […]
09:13:09 ПП
User 162236709
User 4257381
Мы кстати сравнивали в офисе что полезнее для работы - Слак победил, тк в основном все с ноутов работают, но в слаке есть зло @channel и @here (что для #general можно выключить/настроить права), однако есть и платное добро типа @managers / @designers / @testers / @developers. Из вкусного есть посты и камменты к ним, однако для постов нет отдельного удобного представления like FB.
мне тоже очень нравится слак для работы
09:17:10 ПП
User 57648988
у меня некоторые проекты ещё на Flowdock: он дешевле втрое, и немного удобнее (есть нормальные треды)
09:19:42 ПП
User 309556
о, Лёша, поделись хорошей emoji баяна!
09:19:48 ПП
User 309556
нам надо
09:20:01 ПП
User 4257381
А вот из цимеса Телеграма я бы выделил только Каналы, для больших комьюнити важная штука когда контент модерируется (больше интересного), но одному такой канал тяжело поддерживать.
09:20:12 ПП
User 4257381
User 309556
о, Лёша, поделись хорошей emoji баяна!
Ща)
09:30:58 ПП
User 4257381
@chicoxyzzy вот эту кажись ресайзили https://openclipart.org/image/2400px/svg_to_png/181858/accordion.png
openclipart.org/image/2400px/svg_to_png/181858/accordion.png
09:31:54 ПП
User 309556
👍 спасибо
09:33:52 ПП
User 4257381
User 57648988
у меня некоторые проекты ещё на Flowdock: он дешевле втрое, и немного удобнее (есть нормальные треды)
@lendarel если я каммент в своем PR оставляю с указанием @человека - ему упадет нотифайка в Flowdock? И наоборот, если камент от ревьювера контрибьютеру?
09:35:25 ПП
User 4257381
К слову, какой из известных месенджеров обладает такой функциональностью? Чтобы комментарии в PR можно было видеть в треде и отвечать в PR не выходя из месенджера?)
09:35:49 ПП
User 4257381
Хип-Чат с Битбакетом так не работает? Нет?
09:37:02 ПП
User 57648988
Мы в оффтопе уже, пора завязывать 😉 Сквозные notifications далеко не центральня идея. Из Flowdock в GitHub уйдет уведомление. Прелесть не в этом, а что все 1) таски видны как на ладони 2) в одном канале благодаря тредам можно обсуждать кучу тем, условно как в FB или ЖЖ — в slack такого почти нет
09:37:05 ПП
User 4257381
Хотя ББ тот еще репозиторий для кода - один раз полдня прождал пока доступен будет в РФ. Из штатов ребята код запушили - у них был доступ.
09:38:17 ПП
User 4257381
Сорри, просто раз пошел такой разговор) грех не воспользоваться опытом коллег.
09:41:06 ПП
User 309556
в слаке немного другой флоу. там советуется бранчевать каналы когда хочется и архивировать когда они не нужны
10:03:29 ПП
User 1395200
User 4257381
И да, телеграм персональный, а слак доменный
В телеграмме сложнее менеджерить юзеров.
Нет единого списка чатиков.
10:04:10 ПП
User 71898393
дурову осталось реализовать подсветку кода в ТГ
10:04:31 ПП
User 100911923
User 71898393
дурову осталось реализовать подсветку кода в ТГ
Уже есть console.log("Really")
10:04:43 ПП
User 100911923
Но проблему каналов это не решает.
10:05:56 ПП
User 71898393
User 100911923
Уже есть console.log("Really")
эмм.. Это вроде просто код.. Без подсветки) Или нет? Кстати я все хотел спросить, в какие теги код заключить чтобы он был таким?
10:06:21 ПП
User 50318977
User 71898393
эмм.. Это вроде просто код.. Без подсветки) Или нет? Кстати я все хотел спросить, в какие теги код заключить чтобы он был таким?
`хм`
10:06:54 ПП
User 100911923
User 71898393
эмм.. Это вроде просто код.. Без подсветки) Или нет? Кстати я все хотел спросить, в какие теги код заключить чтобы он был таким?
Там есть подстветка.
10:07:26 ПП
User 71898393
User 50318977
`хм`
спасибо!
10:08:21 ПП
User 71898393
User 100911923
Там есть подстветка.
10:08:32 ПП
User 100911923
User 71898393
Ну и?
10:09:00 ПП
User 100911923
Подсветка отличная от текста + моноширинность. В принципе, мне этого достаточно для сниппетов.
10:10:05 ПП
User 71898393
ну подсветку я имел ввиду типа как на pastebin, с выбором языка и т.д. Короч как в кодовом редакторе. чтобы подсветка так подсветка
10:14:45 ПП
User 162236709
можно было бы, наверняка кто-то на sjw-хабе уже попросил давно
10:16:04 ПП
User 162236709
что-то дальше подсветки (markdown-стиль я подразумеваю:
```lang
code
```) будет глупым, таки у всех есть текстовые редакторы
10:21:33 ПП
User 162236709
но сейчас все довольно криво работает, придется переделывать что-то глубже.
потому что форматирование не так, как пользователь написал, сохраняется, а каждая monospace строка оборачивается тремя бэктиками
то есть напишешь
```
Hello
world
```
а преобразуется в
```Hello```
```World```
10:34:11 ПП
User 686615
Так и не вышло разметку кода сделать
10:42:44 ПП
User 68520717
@xoxulin в телеграме так можно

@xoxulin take a look at @GitHubBot