@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 12 мая 2016 г.

02:16:16 ДП
User 4627228
@klimashkin так делает :)
02:17:08 ДП
User 4627228
total bundles = bundles * languages * browsers :)
05:08:35 ДП
User 143141567
Допустим, у меня есть две таблицы-контейнера. Функционал у них одинаковый (сортировка, изменение значений ячеек и т.д) Проблема в том, что api для сортировки/сохранения у каждой таблицы разный, как в таком случае описывать экшены/редьюсеры? Для каждого контейнера всегда свой отдельный редьюсер/экшены/константы? Или это нормально объединять такие схожие вещи?
05:17:25 ДП
User 64167409
языки в отдельные entry points выносятся и грузятся если надо, полифилы аналогично можно и грузить по условию
05:26:38 ДП
User 64167409
вот гуд презентация: http://sokra.github.io/slides/frontend-optimize
05:43:53 ДП
User 151230728
Записи докладов с недавно прошедшей конференции React Amsterdam 2016 — http://vk.cc/59k1Kd
08:29:12 ДП
User 122105125
@dmitriiabramov а в пользу кэширования что-нибудь делали? а то как-то не круто каждый раз новый бандл тянуть.
08:30:24 ДП
User 103130177
я только React.js Conf 2016 досмотрел )))
08:33:26 ДП
User 1294634
@gusnkt на тему разных бандлов, я пока у себя ещё не имплементил, но думал на стороне клиента решать, какой бандл грузить
08:33:43 ДП
User 1294634
Типа вначале качается маленький лоадер, который потом тянет бандл нужный
08:34:03 ДП
User 152745946
мне пока нужно понять как в вебпаке билдить разные бандлы
08:34:23 ДП
User 152745946
там можно массив конфигураций вернуть, но как-то не комильфо
08:35:19 ДП
User 122105125
тоже хотел про мультикомпиляцию в вебпаке написать (вариант с массивом)
08:38:06 ДП
User 57141131
User 152745946
мне пока нужно понять как в вебпаке билдить разные бандлы
вот с этим https://github.com/trivago/parallel-webpack
github.com/trivago/parallel-webpack
Builds multi-config webpack projects in parallel. Contribute to trivago/parallel-webpack development by creating an account on GitHub.
08:43:28 ДП
User 153807368
User 64167409
вот гуд презентация: http://sokra.github.io/slides/frontend-optimize
спасибо! 👍
08:53:52 ДП
User 187983007
Ребят, подскажите, как настроить так, чтобы при каждом прод билде(или определенном, не важно), автоматически увеличивалась версия приложения
08:55:13 ДП
User 101934369
User 187983007
Ребят, подскажите, как настроить так, чтобы при каждом прод билде(или определенном, не важно), автоматически увеличивалась версия приложения
Мне кажется лучше сделать коммит-хук в гите, который будет увеличивать циферку в файле, а эту циферку уже ставить в номер билда.
08:55:53 ДП
User 187983007
не, по коммитам не пойдет
08:59:34 ДП
User 64167409
"build-prod": "npm version patch && webpack ..." ?
10:50:26 ДП
User 1395200
User 101934369
Мне кажется лучше сделать коммит-хук в гите, который будет увеличивать циферку в файле, а эту циферку уже ставить в номер билда.
Коммит-хук мне кажется не самая лучшая затея
10:53:14 ДП
User 1787722
var __versionString__ = childProcess.execSync('git rev-list HEAD --count').toString();
new webpack.DefinePlugin({
  __VERSION__: JSON.stringify(__versionString__)
})
10:53:29 ДП
User 1787722
первая ссылка в гугле...
10:55:09 ДП
User 101934369
Если билды делать только с мастера, то норм
11:02:23 ДП
User 187983007
User 1787722
var __versionString__ = childProcess.execSync('git rev-list HEAD --count').toString();
new webpack.DefinePlugin({
  __VERSION__: JSON.stringify(__versionString__)
})
Да, такой метод и думал. Только еще подключал git-rev-sync
11:05:05 ДП
User 187983007
и еще с кол-вом коммитов не очень хорошо
11:05:57 ДП
User 187983007
так как можно откатывать, а вот с тегами норм
11:12:30 ДП
User 187983007
вот просто git rev-parse HEAD
11:16:52 ДП
User 68520717
а разве номер билда это не ответсвенность CI сервера?
11:16:58 ДП
User 101934369
Можно расширить идею, и в зависимости от тэга бампать минорную или мажорную версию
11:17:16 ДП
11:17:53 ДП
User 68520717
если нет, то самый адекватный способ YOUR_PROJECT.COMMIT-SHA1
11:18:33 ДП
User 1395200
User 68520717
а разве номер билда это не ответсвенность CI сервера?
Плюсую
11:19:58 ДП
User 1395200
А также проставлять теги на git-репу
11:20:03 ДП
User 1395200
Можно через CI
12:17:12 ПП
User 57648988
Даёшь строгую типизацию этому чату 😉
12:19:45 ПП
User 136380475
Ребят, кто нибудь использовал phonegap? Чем отличается от react native?
12:23:32 ПП
User 41989126
Тормозит адски
12:23:40 ПП
User 185980313
всем )
12:24:16 ПП
User 185980313
phonegap это простой запуск приложение в webview, в внутреннем браузере, а реак натив переводит в нативный код
12:29:06 ПП
User 136380475
Старая кобыла и не стоит на нее лезть крч
12:29:08 ПП
12:29:15 ПП
User 136380475
Спасибо
12:31:07 ПП
User 152745946
реакт нейтив не переводит в нативный код, если что
12:32:47 ПП
User 136380475
https://m.habrahabr.ru/post/249393/
m.habr.com/post/249393
Не так давно в Калифронии прошла конференция по React.js (доклады с этой конференции уже размещены на канале facebook разработчиков в youtube). Доклады, как...
12:32:55 ПП
User 136380475
Тут вноде так и сказано
12:33:22 ПП
User 90246751
Там все немного хитрее
12:33:44 ПП
User 152745946
на заборе тоже сказано)
12:33:45 ПП
User 90246751
Логика остается в жс и интерпретируется как обычно
12:33:53 ПП
User 156544965
там поднимается полноценная виртаульна машина V8 и вызываются нативные API методы через прослойку
12:33:55 ПП
User 90246751
Код компонентов рендерится нативно
12:34:01 ПП
User 152745946
это как нативные модули в ноде
12:34:10 ПП
12:34:15 ПП
User 152745946
js код в RN - это фасад к нативному коду
12:34:44 ПП
User 152745946
и опять не так. Там не v8 поднимается, на ios нельзя v8 поднять
12:36:19 ПП
User 90246751
Ага, там встроенный интерпретатор для жс вроде используется
12:37:28 ПП
User 156544965
прошу прощения, перепутал с режимом дебага, там V8 используется
12:37:40 ПП
User 90246751
Короче суть такая: есть компоненты - у них внутри нативный код, написанный на objectiveC/java, он цепляется через специальный bridge компонент к жсу
12:37:46 ПП
User 90246751
Вся логика пишется на жск
12:38:16 ПП
User 90246751
Так что переиспользовать можно только её - интерфейс все равно придется пилить разный под обе платформы
01:00:40 ПП
User 152745946
и это правильно. У платформ много различий
02:03:40 ПП
User 4627228
User 156544965
прошу прощения, перепутал с режимом дебага, там V8 используется
Там JavaScriptCore используется)
03:25:53 ПП
User 187983007
Ребят, у меня вот такая часть вебпака:
    resolve: {
        extensions: ['', '.js', '.jsx', '.css'],
        modulesDirectories: ['node_modules', 'src', 'lib'],
        alias: {
             'someLib': path.join(__dirname, 'lib/someLib.js')
        }
    }
Изначально ее в начальном бандле нет.

И где-то в определенном месте я ее реквайрю.
componentDidMount() {
        require.ensure([], (require) => {
            require('someLib');
       });
}
03:26:12 ПП
User 187983007
так вот, я так делаю, так как она ничего не експортит
03:26:25 ПП
User 187983007
и работает с window
03:26:53 ПП
User 187983007
но почему-то после require('someLib'), она не доступна все равно
03:27:22 ПП
User 187983007
она должна припиливаться к window
03:27:33 ПП
User 187983007
но ее там нет
03:27:59 ПП
User 187983007
может что-то не так делаю?
03:39:47 ПП
User 1294634
зачем require.ensure тебе тут? или там не пустой список?
03:43:03 ПП
User 1294634
вообще, на первой строчке этой someLib
export default function mutateMyWindow(window) {
на последней
}
и потом подключай es6 модуль как всегда, в нужном месте вызывай, возможно даже теперь юнит тест можно будет написать :)
03:43:53 ПП
User 187983007
угу, попробую сенкс
03:48:42 ПП
User 23384802
User 1294634
зачем require.ensure тебе тут? или там не пустой список?
Ты о том, что массив пустой? Это короткая запись require.ensure
03:50:07 ПП
User 1294634
ну, если это вебпак, можно же сразу написать require в данном случае
03:50:37 ПП
User 23384802
Ребят, а где-нибудь есть (например, на гитхабе) список со всех конф по реакту за последний год? А то их так много, что половину нахожу через полгода после появления на ютубе) Мало ли - вдруг кто-то создает такой список
03:50:40 ПП
User 187983007
c оберткой не получилось
04:16:30 ПП
User 58948765
друзья, а connect из react-redux правильно юзать только для контейнеров?
04:16:45 ПП
User 58948765
или для глупых компонентов тоже можно пропсы и экшены инжектить?
04:17:44 ПП
User 58948765
то есть инжектить-то можно, но не бьют ли за такое по рукам?
04:18:39 ПП
User 12791
на больших проектах обычно всегда несколько лейеров контейнеров
04:18:55 ПП
User 12791
но если у тебя button обернутый, то скорее всего будут бить :)
04:20:08 ПП
User 58948765
понял, спасибо :)
04:24:34 ПП
User 4627228
User 23384802
Ребят, а где-нибудь есть (например, на гитхабе) список со всех конф по реакту за последний год? А то их так много, что половину нахожу через полгода после появления на ютубе) Мало ли - вдруг кто-то создает такой список
https://github.com/enaqx/awesome-react#videos ? :)
github.com/enaqx/awesome-react
A collection of awesome things regarding React ecosystem. - enaqx/awesome-react
05:43:31 ПП
User 178361440
Библиотечка, которая упрощает рендеринг в React приложениях
https://github.com/kriasoft/react-app
05:49:18 ПП
User 4627228
react-starter-kit 2.0? :)
А почему rollup?
А почему лицензия CC BY-SA 4.0 на документацию?
06:09:34 ПП
User 4627228
Ответ Кости про Rollup:
Webpack - лучче подходит для веб-приложений,
Rollup - луччше подходит для JS библиотечек (npm модулей)
https://github.com/nolanlawson/rollup-comparison
https://github.com/rollup/rollup/issues/219
github.com/nolanlawson/rollup-comparison
rollup-comparison - compare rollup to browserify/webpack
06:16:02 ПП
User 101934369
Идея для бота: автоматический кросспостинг из Телеграма в Скайп и наоборот.
06:19:57 ПП
User 146732672
Апи то нет
06:19:59 ПП
User 4627228
https://github.com/StartupMakers/telegram-reactjs-bot
github.com/StartupMakers/telegram-reactjs-bot
telegram-reactjs-bot - Telegram Bot for React.js Group: https://telegram.me/react_js
07:04:29 ПП
User 1282989
https://github.com/garbles/why-did-you-update/blob/master/README.md
github.com/garbles/why-did-you-update/blob/master/README.md
why-did-you-update - :boom: Puts your console on blast when React is making unnecessary updates.
07:05:16 ПП
07:06:36 ПП
User 23384802
неплохо
07:17:05 ПП
User 185980313
да, нужно будет пройтись по проекту
07:22:40 ПП
User 1340580
Ребята, есть у кого желание постить в канал ссылочки по JS? Любые, которые посчитаете полезными.
07:24:49 ПП
User 101934369
User 4627228
https://github.com/StartupMakers/telegram-reactjs-bot
github.com/StartupMakers/telegram-reactjs-bot
telegram-reactjs-bot - Telegram Bot for React.js Group: https://telegram.me/react_js
Класс!
Но, насколько я понял, он ещё не запущен?
07:25:27 ПП
User 101934369
User 101934369
Класс!
Но, насколько я понял, он ещё не запущен?
Сорри, прочитал issues и понял :)
07:25:58 ПП
User 1340580
Скажем так – он не написан :D
07:26:14 ПП
User 101934369
Да я понял :)
07:26:48 ПП
User 101934369
Прореркламировал товарищам, которые хотели писать ботов для Телеги, может появятся руки
07:32:05 ПП
User 90854158
Чат, а есть какие хорошие ссылки по вопросам на js-джуна?
07:42:25 ПП
User 1245357
User 90854158
Чат, а есть какие хорошие ссылки по вопросам на js-джуна?
вопросы про window/reduce/apply/call? :)
07:42:36 ПП
User 4627228
User 101934369
Прореркламировал товарищам, которые хотели писать ботов для Телеги, может появятся руки
Мужик :) Можно их в @node_js пригласить и там обсуждать
07:42:52 ПП
User 4627228
Если они не python/golang/etc))
07:43:40 ПП
User 4627228
User 1245357
вопросы про window/reduce/apply/call? :)
call/fold/raise/check :)
07:44:48 ПП
User 4627228
User 101934369
Прореркламировал товарищам, которые хотели писать ботов для Телеги, может появятся руки
Там где-то уже был поток обсуждений Telegram Bot API библиотек
07:44:53 ПП
User 1245357
Всегда можно придумать что-то на ходу … опять же FuzzBuzz
07:46:32 ПП
User 1245357
*FizzBuzz
08:07:05 ПП
User 185980313
кто нибудь проходил курс по haskell на stepic, норм курс? стоит потратить время? или есть лучше?
08:10:57 ПП
User 4627228
Спроси в @haskellru :)
08:11:09 ПП
08:11:42 ПП
User 938207
кстати посоветуйте еще чаты в телеграм
08:12:46 ПП
User 4627228
@reactnative_ru - React Native
@JSlang - общие вопросы про JS
@nodejs_ru - Node.js, profiling, etc
@devops_ru - DevOps, Docker, CoreOS, etc
@dba_ru - Database Administration
08:13:39 ПП
User 938207
спс то что надо
08:13:52 ПП
User 938207
а как ты сейчас сообщение дополнил?
все понял)
08:20:05 ПП
User 86311207
https://github.com/A-gambit/awesome-telegram-chats
github.com/A-gambit/awesome-telegram-chats
Contribute to A-gambit/awesome-telegram-chats development by creating an account on GitHub.
08:20:18 ПП
User 86311207
Вот списочек, состовляю)
08:20:33 ПП
User 162236709
User 86311207
https://github.com/A-gambit/awesome-telegram-chats
github.com/A-gambit/awesome-telegram-chats
Contribute to A-gambit/awesome-telegram-chats development by creating an account on GitHub.
удали pro.dotnet
08:20:35 ПП
08:21:59 ПП
08:23:04 ПП
User 12334241
User 4627228
@reactnative_ru - React Native
@JSlang - общие вопросы про JS
@nodejs_ru - Node.js, profiling, etc
@devops_ru - DevOps, Docker, CoreOS, etc
@dba_ru - Database Administration
Чат @node_js особенно популярен!
08:24:14 ПП
User 4627228
Точно. Спасибо. Подправил.👍🏼
08:24:35 ПП
User 4627228
@nodejs_ru
08:25:25 ПП
User 187276728
User 185980313
кто нибудь проходил курс по haskell на stepic, норм курс? стоит потратить время? или есть лучше?
для старта нормальный, советую learn you a haskell for a great good почитать
08:28:49 ПП
User 86311207
+1 -  learn you a haskell for a great good отличная книга для старта http://learnyouahaskell.com/
08:29:53 ПП
User 185980313
спасибо за книгу )
08:32:56 ПП
08:33:04 ПП
User 162236709
learnyouahaskell учит быдлокодить
08:41:49 ПП
User 4627228
User 86311207
https://github.com/A-gambit/awesome-telegram-chats
github.com/A-gambit/awesome-telegram-chats
Contribute to A-gambit/awesome-telegram-chats development by creating an account on GitHub.
Лови 2 предложения по улучшению =)
08:42:29 ПП
User 4627228
Русскоязычные YouTube-каналы по веб-разработке
https://github.com/forwebdev/channels/blob/master/ru.md
github.com/forwebdev/channels/blob/master/ru.md
A collection of useful YouTube channels for web developers and web designers.
08:43:12 ПП
08:43:23 ПП
User 86311207
Спасибо, займусь на выходных)
08:48:10 ПП
User 4627228
Англоязычные YouTube-каналы по веб-разработке https://github.com/forwebdev/channels/blob/master/en.md
github.com/forwebdev/channels/blob/master/en.md
A collection of useful YouTube channels for web developers and web designers.
09:31:11 ПП
User 152745946
<link rel="stylesheet" src="/💩💩💩.css">
09:31:14 ПП
User 152745946
просто отлично))
09:31:47 ПП
User 152745946
http://slides.com/ai/css-comp
slides.com/ai/css-comp
An interactive presentation created with Slides.
09:52:32 ПП
User 104477
Кто делал авторизацию в приложении через jwt?
09:53:23 ПП
User 104477
В чем их соль, если приложение через HTTP доступно, и так же можно ключ перехватить?
10:09:25 ПП
User 152745946
как ты ключ перехватишь?
10:09:38 ПП
User 152745946
там есть payload и есть подпись
10:09:44 ПП
User 152745946
я делал
10:23:54 ПП
User 152745946
у кого есть опыт создания контекстных меню в вебе?
10:25:36 ПП
User 162236709
что-то пробовал очень давно
10:27:16 ПП
User 152745946
очень странная фигня происходит. onContextMenu клик происхоит, создается попап, менюшка. Ставится листенер на document#click, чтобы закрыть менюшку. В FF в этот листенер тут же прилетает событие и менюшка закрывается
10:33:07 ПП
User 656567
Стопори событие
10:33:33 ПП
User 656567
Оно всплывает до документа как раз после того, как ты листнер ставишь
10:33:58 ПП
User 656567
Ну и листнер сразу же срабатывает
10:34:52 ПП
User 152745946
так разные же события
10:35:13 ПП
User 656567
User 152745946
очень странная фигня происходит. onContextMenu клик происхоит, создается попап, менюшка. Ставится листенер на document#click, чтобы закрыть менюшку. В FF в этот листенер тут же прилетает событие и менюшка закрывается
В onContextMenu делай stopPropagation()  у объекта события
10:35:27 ПП
User 656567
Мм.. Возможно надо ещё click отлавливать
10:35:36 ПП
User 152745946
хм, ща попробую
10:35:55 ПП
User 656567
Там все равно же click происходит. Правой кнопкой же тычешь
10:36:10 ПП
User 152745946
а вообще скорее всего нет
10:36:14 ПП
User 152745946
event.preventDefault();
10:36:20 ПП
User 152745946
и return false было
10:36:30 ПП
User 152745946
но в событии написано preventDefaulted: false
10:36:39 ПП
User 152745946
то есть как буд-то другое событие
10:37:07 ПП
User 656567
Ну значит, лови клик, он видимо после контекстного меню срабатывает
11:05:10 ПП
User 152745946
https://jsfiddle.net/o7adcucn/
jsfiddle.net/o7adcucn
Test your JavaScript, CSS, HTML or CoffeeScript online with JSFiddle code editor.
11:05:15 ПП
User 152745946
вот тут воспроизводится
11:50:34 ПП
User 4627228
Очередной виток? :) https://github.com/milankinen/react-combinators
github.com/milankinen/react-combinators
react-combinators - Seamless combination of React and reactive programming
11:51:49 ПП
User 61730194
shameless