These are chat archives for dev-ua/reactjs

8th
Mar 2016
Illia Seheda
@ALF-er
Mar 08 2016 01:42
Чо тупим?! Костя в скайпе уже поделился https://facebook.github.io/react/blog/2016/03/07/react-v15-rc1.html
Artyom Trityak
@artyomtrityak
Mar 08 2016 01:55
так это rc
Illia Seheda
@ALF-er
Mar 08 2016 01:55
Так и чо?)
Artyom Trityak
@artyomtrityak
Mar 08 2016 01:56
таки ничо)
Illia Seheda
@ALF-er
Mar 08 2016 01:56
Надо юзать!
Artyom Trityak
@artyomtrityak
Mar 08 2016 02:03
:( "react": "^0.13.2"
Illia Seheda
@ALF-er
Mar 08 2016 02:04
Не надо так :(
Artyom Trityak
@artyomtrityak
Mar 08 2016 02:04
я только только перевеб билд на бабель с реакт тулз
на 0.14 все работает, но кучу красных вартингов в консоль, нужно потратить дня 3-4 все повычищать
а как обычно нет времени(
“вот в следующем релизе будет поспокойней, будет время порефакторить…” (c) обещания менеджеров каждый релиз
Illia Seheda
@ALF-er
Mar 08 2016 02:06
А ну в 15 многое, что кидало варнинги выпилили совсем
Artyom Trityak
@artyomtrityak
Mar 08 2016 02:06
ну вот
мне нужно до 14 обновиться
повыпиливать все варнинги
а потом уже до 15
это неделя точно работы
Illia Seheda
@ALF-er
Mar 08 2016 02:06
Да, эту байку про поспокойней они походу на спец курсах менеджеров учат первым делом
Там с 13 на 14 был скрипт для миграции
Artyom Trityak
@artyomtrityak
Mar 08 2016 02:07
К вам приходит разработчик и говорит что пора бы порефакторить говнокод? Говорите в следующем релизе, всегда проканает!
та у меня ж кофе, какой скрипт)
Illia Seheda
@ALF-er
Mar 08 2016 02:07
Оооо
Artyom Trityak
@artyomtrityak
Mar 08 2016 02:09
это же вы меняете работу, пишите на всяких модных вебпаках и ес6, у меня последние 3 года - реакт кофе грунт ) ...на основном проекте
Illia Seheda
@ALF-er
Mar 08 2016 02:12
Шли всех нах и говори, что или фуллрефакторинг или ты удаляешь всю историю гита
Artyom Trityak
@artyomtrityak
Mar 08 2016 02:15
у нас перфорс)
и бранчи делаются копированием папочки
но мне еще не сделали гринкарту поэтому я не могу им урожать)
Illia Seheda
@ALF-er
Mar 08 2016 02:17
Ужс. Но ты подготовь почву. Придумай коварных планов
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 05:00

:( "react": "^0.13.2”

@artyomtrityak
только что апнул большой легаси проект с 0.13.1 на 15.0.0-rc.1

Artyom Trityak
@artyomtrityak
Mar 08 2016 05:01
угу я планирую но пока нет времени
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 05:01
пришлось руками коеч-то поправить, но в основном все сделал codemod
всего минут 15 заняло
по большей части из-за того, что там чуваки наговнякали
нет, вру, не 15. около 30 скорее
но я еще старые депсы там фиксил, левую работу то есть
Artyom Trityak
@artyomtrityak
Mar 08 2016 05:07
codemod это круто но кофескрипт?
хотя можно попробовать регулярками повырезать
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 05:32
оу. кофескрипт это печаль(
регулярками все не получится
там более умные правила
Maxim
@stigmat4j
Mar 08 2016 08:34
Вопрос по react-router.
Имеем роут users/
в нём 2 роута
users/new - создание новой записи
users/:id - просмотр существующей записи по id
Подскажите как разрулить разницу между id и new? Получается при переходе на роут users/new в пропсах id == 'new'
Alexey Migutsky
@mr-mig
Mar 08 2016 09:06

это же вы меняете работу, пишите на всяких модных вебпаках и ес6, у меня последние 3 года - реакт кофе грунт ) ...на основном проекте

Я б лучше так, чем менять работу...

Oleg
@inthedark122
Mar 08 2016 09:17
@stigmat4j
users/new - создание новой записи - поставить выше (перед users/:id), тогда отработает сначало поиск по users/new, и если url у тебя не urses/new, то перейдет на users/:id
@stigmat4j и маршруты вида (users(/:id)/new/:newId) лучше не писать
Maxim
@stigmat4j
Mar 08 2016 09:19
@inthedark122 попробую, спасибо
Myroslav Tantsyura
@Nahasaki
Mar 08 2016 09:32

@stigmat4j и маршруты вида (users(/:id)/new/:newId) лучше не писать

не поняв цього

напиши приклад
Maxim
@stigmat4j
Mar 08 2016 09:41

А может ещё есть возможно типо такого сделать?

<Route path="invoices" component={ requireAuthentication(Invoices) }>
      <IndexRoute component={ InvoicesList } />
      <Route path="new" component={ requireAuthentication(NewInvoice) }/>
      <Route path=":id" component={ requireAuthentication(Invoice) }/>
</Route>

Чтобы избежать в компоненте Invoices

 if(this.props.children) {
      return (
        this.props.children
      );
    }
Oleg
@inthedark122
Mar 08 2016 09:43
@Nahasaki
course(/:id)/preview/:timelineIndex
в таком случае вот такой url
course/preview/1
не будет распознан, т.к. посчитает что id = preview

@stigmat4j поидее работать будет, вот только

if(this.props.children) {
      return (
        this.props.children
      );
    }

не обязательно, this.props.children всегда будет

Maxim
@stigmat4j
Mar 08 2016 09:52
с IndexRoute работает. Но стоит ли игра свеч? Получается компонент Invoices это контейнер только с return this.props.children.
Oleg
@inthedark122
Mar 08 2016 09:55
This message was deleted

@stigmat4j
По сути да, там можно описать какую то общую логику

<Route path="invoices" component={ requireAuthentication(Invoices) }>
Если не нужна общая логика, то можно удалить component={ requireAuthentication(Invoices) }

Kirill Yakovenko
@blia
Mar 08 2016 10:11
старайтесь избегать вложенных раутов, по возможности.
Oleg
@inthedark122
Mar 08 2016 10:14

старайтесь избегать вложенных раутов, по возможности.

как вариант, но иногда нужна одна общая логика, которая будет обрабатываться в componentWillMount

Kirill Yakovenko
@blia
Mar 08 2016 10:21
иногда нужна, но гораздо реже, чем их делают. И имеют из-за этого лишнюю логику, что бы в итоге разделить.
Illia Seheda
@ALF-er
Mar 08 2016 10:22
Приложения нормально проектируй и будут у тебя нормально вложенные рауты =Р
Kirill Yakovenko
@blia
Mar 08 2016 10:22
у меня нормально спроектировано, и потому их нет :)
Illia Seheda
@ALF-er
Mar 08 2016 10:23
примитивненько? )
Kirill Yakovenko
@blia
Mar 08 2016 10:24
как и у всех
Illia Seheda
@ALF-er
Mar 08 2016 10:25
отмазывайся, отмазывайся =)
Kirill Yakovenko
@blia
Mar 08 2016 10:25
от чего?
Illia Seheda
@ALF-er
Mar 08 2016 10:25
от прогресса
Kirill Yakovenko
@blia
Mar 08 2016 10:26
это РР прогресс-то? :)
метадон какой-то
Illia Seheda
@ALF-er
Mar 08 2016 10:27
Roman Pominov
@rpominov
Mar 08 2016 11:07
а кто-нибудь уже разобрался с draft.js? я что-то не пойму в каком формате контент на сервере хранить. просто в их дефолтном представлении текст "Hello World" выглядит как-то так:
{"blockMap":{"bingk":{"key":"bingk","type":"unstyled","text":"Hello World!","characterList":
[{"style":[],"entity":null},{"style":[],"entity":null},{"style":[],"entity":null},{"style":[],"entity":null},
{"style":[],"entity":null},{"style":[],"entity":null},{"style":[],"entity":null},{"style":[],"entity":null},
{"style":[],"entity":null},{"style":[],"entity":null},{"style":[],"entity":null},{"style":
[],"entity":null}],"depth":0}},"selectionBefore":
{"anchorKey":"bingk","anchorOffset":0,"focusKey":"bingk","focusOffset":0,"isBackward":false,"hasF
ocus":false},"selectionAfter":{"anchorKey":"bingk","anchorOffset":0,"focusKey":"bingk","focusOffset":0,"isBackward":false,"hasF
ocus":false}}
Roman Liutikov
@roman01la
Mar 08 2016 13:30
А есть для RN продвинутые layout системы на
Roman Liutikov
@roman01la
Mar 08 2016 13:40
на flexbox
?
Artyom Trityak
@artyomtrityak
Mar 08 2016 17:03
@roman01la https://github.com/jerolimov/react-native-layout но я б неюзал тк оно сырое молодое и вообще неразвивается
Terry Sahaidak
@terrysahaidak
Mar 08 2016 17:07
@roman01la нашо?
Terry Sahaidak
@terrysahaidak
Mar 08 2016 17:19
хтось юзав react-native-router-flux?
Artyom Trityak
@artyomtrityak
Mar 08 2016 17:22
я смотрел, пробовал, не понял зачем
Roman Liutikov
@roman01la
Mar 08 2016 17:26
@artyomtrityak спасибо
@terrysahaidak я не могу понять, как стилями нормально сделать определенные штуки
Например я хочу off canvas view, которое вылазит снизу экрана и при этом при появлении клавиатуры оно всплывает вверх, на ней
Terry Sahaidak
@terrysahaidak
Mar 08 2016 17:30

@roman01la хм, а що саме треба? може допоможемо
поки проблем зі стилями як таких не мав, все наче просто і логічно, флексбокс як не як)

@artyomtrityak ну я от пробую, поки все прикольно, але не можу зконектити з редаксом
але все одно там не так круто як хотілось би
думав воно зберігає стейт в редаксі/флаксі, а насправді ти просто можеш його собі туди копіювати :(

@roman01la типу поверх клавіатури?
Artyom Trityak
@artyomtrityak
Mar 08 2016 17:31
@terrysahaidak мне обычный навигатор устраивает ваще
есть еще эксперементальный
Roman Liutikov
@roman01la
Mar 08 2016 17:32
@terrysahaidak угу. Для всплытия элементов вместе с клавой я юзаю https://www.npmjs.com/package/react-native-keyboard-spacer
Terry Sahaidak
@terrysahaidak
Mar 08 2016 17:34
@roman01la цей, якшо поставити
{position: 'absolute', bottom: 0}, то клава сама посуне все вверх
Roman Liutikov
@roman01la
Mar 08 2016 17:36
@terrysahaidak пробовал, ничего не всплывает
Terry Sahaidak
@terrysahaidak
Mar 08 2016 17:36
емм
дивись
Roman Liutikov
@roman01la
Mar 08 2016 17:36
Может я ещё не привык к работе с лэйаутом просто :)
Terry Sahaidak
@terrysahaidak
Mar 08 2016 17:38
а в тебе це в scrollview?
Roman Liutikov
@roman01la
Mar 08 2016 17:39
Вроде да
Terry Sahaidak
@terrysahaidak
Mar 08 2016 17:40
в мене зараз ось так це
<View style={{flex:1}}>
  <ToolbarAndroid />
  <ScrollView style={{flex:1}} />
  <TextInput />
</View>
все як має бути
ну це я дуже узагальнено
просто якшо в тебе середній елемент буде {flex: 1}, то воно розтягне на повний навіть без контенту, тим самим інпут потягне униз
і якшо появиться клава -- воно потягне все вгору
я хз чи ти тут розберешся
https://github.com/terrysahaidak/project/blob/master/app/screens/RoomScreen.js
але тут в мене якраз таке і робиться
Roman Liutikov
@roman01la
Mar 08 2016 17:45
@terrysahaidak о, спасибо, я посмотрю 👍🏻
Terry Sahaidak
@terrysahaidak
Mar 08 2016 17:46
Screenshot_2016-03-08-19-45-18.png
якшо тобі таке потрібно
Roman Liutikov
@roman01la
Mar 08 2016 17:53
дада, оно
хочу попробувати
@roman01la плюс до всього в мене в Root компоненті є <StatusBar />, в якому виставлений колір, я хз чо, але інколи коли стоїть translucent (тобто прозорий, і контент відображається ззаду нього), воно разом з <ToolbarAndroid /> їде вгору, хз чо
:point_up: 8 Марта 2016 г., 19:56
cc @artyomtrityak
Terry Sahaidak
@terrysahaidak
Mar 08 2016 18:06
@roman01la а ти пишеш якийсь тіпа чат чи шо?
якшо юзаєш редакс і ListView, раджу dataSource тримати в редюсері
Roman Liutikov
@roman01la
Mar 08 2016 18:14
@terrysahaidak я делаю что-то типа туду листа на кложуре, хочу в апстор загнать ради интереса
Terry Sahaidak
@terrysahaidak
Mar 08 2016 18:15
а
ну все одно
якшо юзаєш ListView, то краще його тримати в редюсері
і коли добавляєш тудушку, зразу будеш в редюсері робити це, дуже зручно, позбавляє тупої логіки в cWRP
для прикладу
https://github.com/terrysahaidak/project/blob/master/app/modules/messages.js#L439-L456
я діспатчу екшен, який постить нове повідомлення, воно зразу апендиться в ліст вю
і знизу під цим коли воно приходить від сервера як відповідь -- я оновляю його в listView, а також кешую
Roman Liutikov
@roman01la
Mar 08 2016 18:28
Ну я так и делаю, только без list view, перепишу на него
Illia Seheda
@ALF-er
Mar 08 2016 18:56
Steve McGuire - Performance Without Compromise Уже не раз тут проскакивавший доклад от Нетфликса о том как они оптимизируют свои приложения на Реакте под самые убогие девайсы и какие идеи они использовали в своей (увы не открытой платформе) Gibbon. Доклад технически интересный но полезен будет тем кому надо запустить красивый интерфейс на часах Монтана
Illia Seheda
@ALF-er
Mar 08 2016 19:12
Lightning Talks - Nicolas Gallagher Хороший лайтнинг про классную идею - перенести RN в Web. Казалось бы зачем, но чувак из одной из команд Твиттера объясняет, что это будет выгодно во многих аспектах, в частности он рассказывает какой выигрыш получается при использовании StyleSheet вместо CSS (читай CSS-in-JS подход) тем самым снижая размер результирующего бандла и выкидывая один этап сборки и рассказывает о том какой профит будет в плане внедрения accessability. Проект опенсорснут https://github.com/necolas/react-native-web
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 19:17
facebook/react#6219
Illia Seheda
@ALF-er
Mar 08 2016 19:18
shit happens
Artyom Trityak
@artyomtrityak
Mar 08 2016 19:19
а у них юниттестов нет?
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 19:20
вырезали лишние аттрибуты одни такие
Illia Seheda
@ALF-er
Mar 08 2016 19:21
ща скажут "by design" )
а чо там кстати, по спеке?
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 19:22
так тут по спеке. value нет — берем из текста. только вырезать не надо)
када value есть, то всегда из нее берется
Illia Seheda
@ALF-er
Mar 08 2016 19:24
Я хочу своими глазами прочесть в спеке "если value - пустая строка, то в change должна прийти пустая строка"
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 19:25
This message was deleted
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 19:29
@ALF-er
<script>
function log(e) {
  console.log(e);
}
</script>

<select onchange="log(this.value)">
  <option value="">empty</option>
  <option value="filled">filled</option>
</select>
вставь в жсбин
Illia Seheda
@ALF-er
Mar 08 2016 19:32
ну допустим (Спеки - это ад, как найти как это должно себя вести я вообще непони). Щими их
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 19:34
это спека по dom layer 1 наверное. я тож хз
Illia Seheda
@ALF-er
Mar 08 2016 19:35
Я прочёл уже на w3c про select и про option но не нашёл этого кейса
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 19:35
ну там должно быть просто написано, что если value есть, то брать его
Artyom Trityak
@artyomtrityak
Mar 08 2016 19:36
я всегда думал что так оно и работает 0_о
нет валюе - берем текст
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 19:36
оно так и работало всегда и везде
до реакт 15рц1
Artyom Trityak
@artyomtrityak
Mar 08 2016 19:39
у меня кстати стабильно ФБ выжирает около 2-3 гб памяти через день-два открытой табы, очень както некруто
у них что-то течет там?
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 19:39
это сокеты из чата вероятно и прочий кеш
Artyom Trityak
@artyomtrityak
Mar 08 2016 19:40
трешак короче, мне ок убить процесс но юзерам обычным как?
Illia Seheda
@ALF-er
Mar 08 2016 19:40
день два открытой табы О.о
Artyom Trityak
@artyomtrityak
Mar 08 2016 19:40
выключать хром
ну у меня фб таба висит в браузере и все
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 19:40
можно хоткеями очистить
Artyom Trityak
@artyomtrityak
Mar 08 2016 19:40
ну возьмем среднего юзера, хоткеями рили?
Illia Seheda
@ALF-er
Mar 08 2016 19:41
вы не выключаете комп?
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 19:41
мне похер у меня он 2 минуты в день открыт)
Artyom Trityak
@artyomtrityak
Mar 08 2016 19:41
мак? нет
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 19:41
я - нет
зачем?
Artyom Trityak
@artyomtrityak
Mar 08 2016 19:41
у него просто винда :)
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 19:41
а
ок
Artyom Trityak
@artyomtrityak
Mar 08 2016 19:41
я последний раз перезакружал мак месяца 2 назад когда решился поставить Эль Капитана
Illia Seheda
@ALF-er
Mar 08 2016 19:42
Идиотская система
Artyom Trityak
@artyomtrityak
Mar 08 2016 19:42
мм?
мак / винда / эль капитан?)
Illia Seheda
@ALF-er
Mar 08 2016 19:42
Не выключать комп когда не пользуешься ним
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 19:43
а какой в этом смысл кроме экономии электропитания?
Illia Seheda
@ALF-er
Mar 08 2016 19:43
Это и есть смысл! Вы негодяи сидите и убиваете планету! Не надо так!
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 19:44
он нас раскусил
ладно, пойду посмотрю как зафиксить
Illia Seheda
@ALF-er
Mar 08 2016 19:49
иди, иди, убийца
Terry Sahaidak
@terrysahaidak
Mar 08 2016 20:07
вобше то на вінді тоже можна
"режим глибокого сну"
я завжди так роблю
теж раз в 2 тижня коли дуже треба перегружаю повністю
а так на гібернацію і всьо) це ж зручно, та і грузиться в стопіцот раз швидше
його ж можна з розетки вимкнути)
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 20:12
что-то я не нашел где они там все отрезают
дебаггером лень смотреть)
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 20:41
Babel 6.6.5
старшно
Artyom Trityak
@artyomtrityak
Mar 08 2016 20:41
че?
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 20:42
следующая версия будет инфернальной
Artyom Trityak
@artyomtrityak
Mar 08 2016 20:42
меня только одного кстати смутило что все плагины бабель в репу бабеля засунули?
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 20:42
все уже перестали смущаться. монорепа
Artyom Trityak
@artyomtrityak
Mar 08 2016 20:43
уг
Artyom Trityak
@artyomtrityak
Mar 08 2016 20:46
а релизится все сразу?
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 20:48
нет
npm отдельные
если ты об этом
я боюсь бабеля 6.6.6
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 21:07
в исходниках реакта есть вложенные тернарники :/
Illia Seheda
@ALF-er
Mar 08 2016 21:08
(голосом переводчика боевиков 90ых "в нос") "ааа в гробу мы видали ваши кодстайлы"
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 21:09
ваще-то там было запрещающее правило. я переводил с jshint на eslint его давно еще. при мне такой херни не было!
Artyom Trityak
@artyomtrityak
Mar 08 2016 21:10
вот так, оставил без присмотра и вот что натворили
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 21:11
и не понятно куда эти их hzoo смотрят (этот ваще eslinter всея гитхаба)
Sergey Rubanov
@chicoxyzzy
Mar 08 2016 21:19
подебажил-таки. все равно не нашел где этот чертов ReactDOM отрезает атрибут
в виртуальном все ок точно
черт с ним, пойду виски пить и девок ловить
Artyom Trityak
@artyomtrityak
Mar 08 2016 21:23
подебажил реакт и пошел девок ловить, вот это жизнь