These are chat archives for dev-ua/reactjs

2nd
Mar 2016
Artyom Trityak
@artyomtrityak
Mar 02 2016 00:02
танцы
нужно посмотреть - они пишут что улучшили суппорт флоу
Terry Sahaidak
@terrysahaidak
Mar 02 2016 00:08
а ше на відрі не треба буде робити react-native upgrade, а потім правити всі андроїдівські файли, які воно позмінювало, назад, як було
а то воно просто повидаляло мої всі нативні модулі нафіг і всьо :)
Artyom Trityak
@artyomtrityak
Mar 02 2016 00:12
раз удалило значит они ненужны)
Terry Sahaidak
@terrysahaidak
Mar 02 2016 00:16

а я покладав великі надії на

Make Chrome debugger faster

п**дьож. досі з раута на раут перейти нереально :(

Sergey Rubanov
@chicoxyzzy
Mar 02 2016 01:24
а rn на можорную версию не прыгнет, кстати?
вслед за реактом
Terry Sahaidak
@terrysahaidak
Mar 02 2016 01:31
@chicoxyzzy доки відроїд-версія не буде настільки ж стабільна, як і іос, доти врятлі
та і сенсу зовсім нема
14 реакт таки досить стабільний, там мало шо міняється
а тут постійно шось пілять, постійно фіксять, шось додають, стараються якнайбільше уніфікувати компоненти
короч, я дуже сумніваюсь)
але мені дуже подобається динаміка розробки
прям скажена
Ruslan Abdullaev
@rajdee
Mar 02 2016 07:15
@mr-mig может пригодится https://github.com/fraserxu/react-testing-recipes
Alexey Volkov
@rosko
Mar 02 2016 08:37
@rajdee полезно, спасибо
Andrey Gubanov
@finom
Mar 02 2016 09:04
This message was deleted
Есть ли смысл фризить стэйт объект в продакшне?
Alexey Migutsky
@mr-mig
Mar 02 2016 09:14
@rajdee thx
b1ff
@b1ff
Mar 02 2016 09:14

Как ещё это обозвать, если в тесте условие “пользователь жмёт на кнопку”, как не аксептанс?

@mr-mig так behaviour же ?

в enzyme simulate работает, и вирутальный дом меняется, но сами обьекты ивентов придется мокать
Alexey Migutsky
@mr-mig
Mar 02 2016 09:15

@mr-mig зря ты так, я уже встречал термин “приемочные тесты”, то ли в литературе, то ли где-то в докладах

Сорри, если обидел. У меня странное отношение к русским и английским терминам, я предпочитаю транслитерировать программерские штуки и называть тесты аксептанс. Приемочные тесты - это на предприятии

b1ff
@b1ff
Mar 02 2016 09:16
В целом enzyme мне понравился после релиза №2. И проверяешь поведение компонента, и не завязываешся на детали реализации других компонент.
Alexey Migutsky
@mr-mig
Mar 02 2016 09:16
@b1ff я, видимо, чета недопонял
энзимовский симулейт разве не поверх Simulate реакта?
b1ff
@b1ff
Mar 02 2016 09:17
чтоб я так знал)
Alexey Migutsky
@mr-mig
Mar 02 2016 09:17
над сырцы почитать ))
судя по всему нет.
Alexey Migutsky
@mr-mig
Mar 02 2016 09:18

This method of testing events should be met with some skepticism.

клевый коммент ))

Illia Seheda
@ALF-er
Mar 02 2016 09:19
у меня под жизнью такой комент написан
b1ff
@b1ff
Mar 02 2016 09:19
:D
Alexey Migutsky
@mr-mig
Mar 02 2016 09:19
аааа, ну так оно реально дергае хендлер ))
b1ff
@b1ff
Mar 02 2016 09:19
с пропсов компонента просто достает функу)
и дергает ее
Alexey Migutsky
@mr-mig
Mar 02 2016 09:19
ага
наеб
понятно откуда скептицизм
b1ff
@b1ff
Mar 02 2016 09:19
там много дискусий по поводу всплытий
Alexey Migutsky
@mr-mig
Mar 02 2016 09:19
дом нужОн
Illia Seheda
@ALF-er
Mar 02 2016 09:20
ты боишься, что реакт не дёрнет хендлер если юзер нажмёт на кнопку?
b1ff
@b1ff
Mar 02 2016 09:21
реакт же в зависимости от рантайма ивенты правильно захендлит
Alexey Migutsky
@mr-mig
Mar 02 2016 09:21
нет, я не хочу дергать хендлер, я хочу “думать как юзер” в своих тестах
b1ff
@b1ff
Mar 02 2016 09:21
а тут получается если дом подрубать, то и тесты хотя бы на парочке движков проганять нужно.
Alexey Migutsky
@mr-mig
Mar 02 2016 09:21
ну так-то я кармой всю жизнь пользовался и норм
везде гонял
но пора становится крутым
%)
b1ff
@b1ff
Mar 02 2016 09:22
та я досихпор кармой пользуюсь
оказывается я не крут :(
Alexey Migutsky
@mr-mig
Mar 02 2016 09:22
конечно нет
все модные пацаны юзают тейп и шеллоу рендеринг
b1ff
@b1ff
Mar 02 2016 09:24

нет, я не хочу дергать хендлер, я хочу “думать как юзер” в своих тестах

"думать как юзер" может обернутся в экстра эффорт для поддержки тестов, но пойдет если проект не большой

Alexey Migutsky
@mr-mig
Mar 02 2016 09:25
разверни мысль плиз
Illia Seheda
@ALF-er
Mar 02 2016 09:26
йошьлоб ен ткеорп илсе тедйоп он ,вотсет икжреддоп ялд троффэ артскэ в ястунребо тежом "резю как ьтамуд"
b1ff
@b1ff
Mar 02 2016 09:26
если завязыватся на дом и тестировать компоненты собранные из других "тупых" компонент, то при изменении в этих "тупых" компонентов придется менять их тесты, и тех компонент которые их юзают
Alexey Migutsky
@mr-mig
Mar 02 2016 09:26
@ALF-er +1

если завязыватся на дом

Это всегда плохая практика

вообще тестировать структуру композитов - бида. Тут пацаны правильно шеллоу рендеринг продвигают
но я чет хочу более развернутые сценарии с привязкой к классам/именам компонентов
мне важно, чтобы мой модальный диалог показывался. А чо там внутри мне пох
Ruslan Abdullaev
@rajdee
Mar 02 2016 09:31
есть еще такой курс https://egghead.io/series/react-testing-cookbook
или он совсем для новичков?
Alexey Migutsky
@mr-mig
Mar 02 2016 09:31
ну то все такое - овервью для тех, кто никада не делал
Alexey Raspopov
@alexeyraspopov
Mar 02 2016 09:37

но я чет хочу более развернутые сценарии с привязкой к классам/именам компонентов

UI тесты?

Alexey Migutsky
@mr-mig
Mar 02 2016 09:43
чувак, я хз, как это назвать. я хочу ТДД без селениума и реального дома, чтобы у меня была привязка к абстракциям, а не к деталям реализации
я хочу реально сказать “у меня есть СуперКнопка, которая по клику открывает СуперПопап”
Vyacheslav Slinko
@vslinko
Mar 02 2016 09:49
почему без дома?
скорость?
Alexey Migutsky
@mr-mig
Mar 02 2016 09:50
патамушта нах он мне нужен?
Скорость, -1 тулза для сетапа и геморроя
Vyacheslav Slinko
@vslinko
Mar 02 2016 09:59
единственный путь тогда — патчить shallowRenderer убирая "one level deep"
не думаю, что это очень сложно
Alexey Migutsky
@mr-mig
Mar 02 2016 10:01
не вариант
в шеллоу рендеринге есть свои плюсы, которые я не хочу терять
Vyacheslav Slinko
@vslinko
Mar 02 2016 10:04
какие плюсы?
какие другие варианты ты видишь?
Alexey Migutsky
@mr-mig
Mar 02 2016 10:06
плюс в том, что ты тупо не достучишься до внутренних компонентов, а значит не сможешь завязать тесты на структуру
вариантов не вижу, у меня analysis paralysis
надо хуяк хуяк и в продакшен, а то пздц
Я пока тут думаю уже бы завел карму и норм
Vyacheslav Slinko
@vslinko
Mar 02 2016 10:07
ты хочешь противоречивого — тесты разных частей проекта не используя их как одно целое
Alexey Migutsky
@mr-mig
Mar 02 2016 10:07
не, я хочу и то, и другое, но без дома
и шеллоу, и целые вью тестить
Vyacheslav Slinko
@vslinko
Mar 02 2016 10:08
так я и говорю, сделай shallow2 без one level
Alexey Migutsky
@mr-mig
Mar 02 2016 10:08
чирио в принципе вариант, но я не знаю, какой шанс наткнуться на сломанные ивенты
Vyacheslav Slinko
@vslinko
Mar 02 2016 10:08
shallow1 оставь для юнит тестов
Alexey Migutsky
@mr-mig
Mar 02 2016 10:09
это какое-то извращение
меня не поймут %)
Vyacheslav Slinko
@vslinko
Mar 02 2016 10:10
тебя и сейчас не понимают :)
Alexey Migutsky
@mr-mig
Mar 02 2016 10:10
патамушта всем пофиг ))
тесты ранятся и заебок
b1ff
@b1ff
Mar 02 2016 10:12
тесты есть и заебок, не обязательно даже что бы ранались :)
Alexey Migutsky
@mr-mig
Mar 02 2016 10:13
тож вариант :trollface:
Alexey Raspopov
@alexeyraspopov
Mar 02 2016 10:24

я хочу реально сказать “у меня есть СуперКнопка, которая по клику открывает СуперПопап”

это привязка к деталям =)

anoru
@anorudes
Mar 02 2016 10:45
Ребят, подскажите как сделать, чтобы бабель не пытался require scss файлов делать.
Вижу, что есть
babel-plugin-transform-require-ignore
но не понимаю как его подружить с бабелем 6
anoru
@anorudes
Mar 02 2016 10:50
  "plugins": [
    [
      "babel-plugin-transform-require-ignore",
      {
        "extensions": [".less", ".sass"]
      }
    ]
  ]
почему так странный синтаксис?
массив внутри массива
почему не объект) не понимаю как вставить это, если уже есть плагины
такие:
"plugins": [
"transform-decorators-legacy",
"transform-object-rest-spread",
],
какой-то странный синтаксис у babel.rc
Nikita Gusakov
@nkt
Mar 02 2016 10:55
большинство плагинов без опций
anoru
@anorudes
Mar 02 2016 10:55
вместо объектов в массике - массивы внутри массива
ну в таком случае могли сделать либо принимать строк, либо объект)
Terry Sahaidak
@terrysahaidak
Mar 02 2016 10:56
замість просто назви встав цей масив може?
Nikita Gusakov
@nkt
Mar 02 2016 10:56
какая разница, какой конфиг
ты его один раз пишешь, а потом не трогаешь
напиши нужные пресеты себе и забей
anoru
@anorudes
Mar 02 2016 10:57
дак в том и дело, что не могу даже наипсать его)

const config = JSON.parse(fs.readFileSync('./.babelrc'));
const ignore = [
'babel-plugin-transform-require-ignore',
{
extensions: ['.less', '.sass'],
},
];

config.plugins = config.plugins.concat(ignore);
require('babel-core/register')(config);

пытался так
хочу добавить в плагины этот плагин
судя по консоль логу там не массив получился
plugins:
[ 'transform-decorators-legacy',
'transform-object-rest-spread',
'babel-plugin-transform-require-ignore',
{ extensions: [Object] } ],
а надо, чтобы babel-plugin-transform-require-ignore был в массиве
const ignore = [[ пришлось делать так ))
Alexey Migutsky
@mr-mig
Mar 02 2016 11:20
вроде нет, но мне не особо поможет
anoru
@anorudes
Mar 02 2016 11:26
так, я хочу вернуться к бабелю. Кто знает зачем они такой синтаксис сделали? Вижу лишь одно объяснение - изначально плагины были без параметров, поэтому сделали просто строки в массив. А потом надо было срочно добавить с параметрами, но не ломать у всех синтаксис. В таком случае можно было сделать
['plugin1', 'plugin2' {
'plugin3': {
extensions: ['.less', '.scss']
}]
как бы там все разрабы умнее меня в 1000 раз, я это понимаю
но причины все равно интересны :D
вообщем такие разработчики не допустили бы данной ошибки. А значит причины какие-то более серьезные. вот и любопытно
Vyacheslav Slinko
@vslinko
Mar 02 2016 11:28
так а в чем проблема?
тебе не нравится то что плагин можно описать строкой или массивом?
воспринимай массив как tuple, а строку как сахар над tuple без второго параметра
вариант, предложенный тобой, мне гораздо меньше нравится
у него есть проблемы
Alexey Migutsky
@mr-mig
Mar 02 2016 11:30
выбрал жс? мучайся
anoru
@anorudes
Mar 02 2016 11:30
да, не понимаю почему 2 варианта - строка и массив. А не строка и объект или просто объект. Я не настаиваю на своем варианте, просто хочу знать истоки данного выбора разработчиками)
Vyacheslav Slinko
@vslinko
Mar 02 2016 11:31
потому что в json и js нет пар
пары тут подходят лучше объектов
можно было сделать [{name: string, options: any}], но, видимо, решили, что это многословно
anoru
@anorudes
Mar 02 2016 11:32
зато не ломает мозг)
Vyacheslav Slinko
@vslinko
Mar 02 2016 11:33
у тебя ломается мозг от массива? :)
Illia Seheda
@ALF-er
Mar 02 2016 11:33
чем тебе это мозг ломает я чёт не понял =/
anoru
@anorudes
Mar 02 2016 11:34
ну, это громко сказано. Если бы я встретил такой код в каком-нибудь левом сорсе, то выглядело бы так, что автор не умеет использовать объекты. Но тут бабель, конечно, им можно простить )
Nikita Gusakov
@nkt
Mar 02 2016 11:46
это кстати устоявшийся формат
Vladimir Guguiev
@wzrdzl
Mar 02 2016 11:51
чуваки, можно в react-router отменить переход на route из onEnter хука?
сделать просто goBack
Andrey Gubanov
@finom
Mar 02 2016 12:04
Чуваки, насколько геморно сделать нативный компонент для RN. Например, я обращаюсь к рандомному Андроид девелоперу. Насколько сложно ему будет разобраться в апишке?
Скажем, я пилю JS, но не хватает какой-то возможности, которую я не могу имплементировать со своей стороны. Боюсь тупиковой ситуации.
Terry Sahaidak
@terrysahaidak
Mar 02 2016 12:17
@finom модуль -- не важко
компонент важче
таких, яких досі нема, може бути шо важко, але не завжди
дешо фб просто ше не заопенсорсило, то може появитись
короч в апішці розібратись не важко
гірше змусити нормально робити
Andrey Gubanov
@finom
Mar 02 2016 12:30
Понял, спасиб
Taras Kharuk
@TuxujPes
Mar 02 2016 13:46
привіт, хтось підкаже як підключити 2 реакт аппки в різні дом ноди на сторінці? наразі в мене проблема в тому що реакт сетає в дві ноди одні і ті самі data-reactid в доках щось не бачу як передати кастомний стартове значення чи щось типу того
Illia Seheda
@ALF-er
Mar 02 2016 13:49
ReactDOM.render(<App1 />, document.getElementById("root1"));
ReactDOM.render(<App2 />, document.getElementById("root2"));
Taras Kharuk
@TuxujPes
Mar 02 2016 13:50
саме так :) в мене це продюсить ситуацію в якій обом першим нодам в рутах сетається data-reactid=“.0”
Illia Seheda
@ALF-er
Mar 02 2016 13:51
А какая разница?
Они из-за этого не работают?
Taras Kharuk
@TuxujPes
Mar 02 2016 13:52
ну так івенти ж проджектяться неправильно
Illia Seheda
@ALF-er
Mar 02 2016 13:52
поподробней
Taras Kharuk
@TuxujPes
Mar 02 2016 13:54
нуууу… якщо навішати клік на компонент якому випаде мати data-reactid=“.0.0.1” в Апп1 то він буде трігеритись і на дом елемент в Апп2 з таким самим дата атрибутом
або ні.. і проблема в чомусь іншому)
всё будет правильно работать. Если что, в react 15 вообще не будет data-reactid
Denis Stoyanov
@xgrommx
Mar 02 2016 13:58
@TuxujPes :smile:
Taras Kharuk
@TuxujPes
Mar 02 2016 13:58
в мене 0.13… якщо це може на шось повпливати
цссс
Denis Stoyanov
@xgrommx
Mar 02 2016 13:59
@TuxujPes обновись до 14 и заюзай уже наконец-то ReactDOM
Alexey Migutsky
@mr-mig
Mar 02 2016 13:59
А есть у кого сетап webpack + mocha без кармы под рукой?
Illia Seheda
@ALF-er
Mar 02 2016 13:59
смотри чего ты намудрил у себя в коде. У тебя где-то синглтоны или глобальные объекты
Denis Stoyanov
@xgrommx
Mar 02 2016 13:59
npm i react react-dom -S => вместо React.render используй ReactDOM.render
Taras Kharuk
@TuxujPes
Mar 02 2016 14:02
та блін.. а за місяць ти скажеш до пятнашки апгрейдатись
дібільна ж ідея стабільну аппку в продакшині по своїй прихоті апгрейдати якщо на то немає адекватних причин.
Illia Seheda
@ALF-er
Mar 02 2016 14:03
с 0.13 тоже должно всё работать нормально
смотри в своём коде в чём причина не правильной работы
Taras Kharuk
@TuxujPes
Mar 02 2016 14:05
та да, я чомусь зразу погрішив на ідентифікатори.
дякую, буду дивитись в чому біда може бути
Glebcha
@glebcha
Mar 02 2016 14:15
коданы, как кроме функции в рендере разрулить условия? тернарка по очевидным причинам не подходит
Nikita Gusakov
@nkt
Mar 02 2016 14:16
do
Illia Seheda
@ALF-er
Mar 02 2016 14:16
?
Nikita Gusakov
@nkt
Mar 02 2016 14:17
и еще вынести в компонент
Glebcha
@glebcha
Mar 02 2016 14:17
do как вариант, но es7 и ссыкотно
Nikita Gusakov
@nkt
Mar 02 2016 14:17
а jsx не сыкотно?
Glebcha
@glebcha
Mar 02 2016 14:18
жить тоже ссыкотно и на js писать ссыкотно
вот последнее прям давит
особенно после откровений госпожи deep bunny hole
Illia Seheda
@ALF-er
Mar 02 2016 14:18
do - это вообще "зырьте чё придумал"
Nikita Gusakov
@nkt
Mar 02 2016 14:18
ну тогда в компонент выноси
который внутри render разрулит
Glebcha
@glebcha
Mar 02 2016 14:20
пожалуй это и остается только - компонент будет принимать одно из условий в родителе и разруливать внутри два оставшихся условия
Nikita Gusakov
@nkt
Mar 02 2016 14:20
или напиши свой аналог ng-if. Но это превратится в жесть
Glebcha
@glebcha
Mar 02 2016 14:20
не нужно в суе упоминать это исчадие говна и пздца
Illia Seheda
@ALF-er
Mar 02 2016 14:21
Я так и не понял чего там нельзя решить через && или ?:
Glebcha
@glebcha
Mar 02 2016 14:21
@ALF-er много условий и портянки jsx
кто-нибудь https://github.com/mobxjs/mobx использовал в продакшне?
Illia Seheda
@ALF-er
Mar 02 2016 14:23
const isRuleOne = a || b;
const isRuleTwo = A && B;
...
{isRuleOne && <One />}
{isRuleTwo && <Two />}
В пордакшине хз, но вообще его юзал @chicoxyzzy ещё когда он назывался mobservable
Glebcha
@glebcha
Mar 02 2016 14:24
@ALF-er да я пытаюсь красоту навести просто, в отдельный компонент вынесу
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 14:24
ну как юзал. условно юзал
Glebcha
@glebcha
Mar 02 2016 14:25
@chicoxyzzy есть какие-то подводные камни?
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 14:25
есть мнение, что он не нужен :)
лучше взять взрослые обзерваблы
rxjs / most
Alexey Raspopov
@alexeyraspopov
Mar 02 2016 14:26
или вообще их не брать
Glebcha
@glebcha
Mar 02 2016 14:26
@alexeyraspopov а взять ангуляр))
Alexey Raspopov
@alexeyraspopov
Mar 02 2016 14:27
ну ты не перегибай
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 14:27
или вообще не брать, да
я, на самом деле, просто писал конвертер из mobservable в rxjs и обратно
а надо это для того, чтобы юзать операторы rxjs
Alexey Raspopov
@alexeyraspopov
Mar 02 2016 14:28

я, на самом деле, просто писал конвертер из mobservable в rxjs и обратно

мне бы твое свободное время...

Sergey Rubanov
@chicoxyzzy
Mar 02 2016 14:29
его там надо не так много, как тебе кажется)
Alexey Migutsky
@mr-mig
Mar 02 2016 14:29
mocha + webpack без кармы кто-нить?
Alexey Raspopov
@alexeyraspopov
Mar 02 2016 14:30
+
а, вебпак
Alexey Migutsky
@mr-mig
Mar 02 2016 14:30
ссылку
Alexey Raspopov
@alexeyraspopov
Mar 02 2016 14:30
-
Alexey Migutsky
@mr-mig
Mar 02 2016 14:30
ну вот и я о том же ))
чот минус сплошной
не жс, а жопа какая-то
Alexey Raspopov
@alexeyraspopov
Mar 02 2016 14:31
пфф
Glebcha
@glebcha
Mar 02 2016 14:31
в этом вся истина - боль и страдания
Alexey Raspopov
@alexeyraspopov
Mar 02 2016 14:32
можешь mocha-loader заюзать
в этой ситуации жопа это вебпак
Alexey Migutsky
@mr-mig
Mar 02 2016 14:32
заюзал, херня какая-то
я по докам и паре статей чота запилил, но ругается на process
как всегда бл, шаг влево и по уши в эксепшенах
Alexey Raspopov
@alexeyraspopov
Mar 02 2016 14:33
у тебя просто руки из жопы
Alexey Migutsky
@mr-mig
Mar 02 2016 14:33
я потому и пошел в программисты
чтоб людей не убивать
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 14:33
и струны не рвать
Alexey Migutsky
@mr-mig
Mar 02 2016 14:33
не без этого
Glebcha
@glebcha
Mar 02 2016 14:35
сурово
Taras Kharuk
@TuxujPes
Mar 02 2016 14:36
Uncaught Error: Invariant Violation: ReactMount: Two valid but unequal nodes with the same data-reactid: .0 і всетаки… шото не то
Taras Kharuk
@TuxujPes
Mar 02 2016 14:41
мда, якщо з одного бандла React.render робити то всьо гуд… праблємка коли з різних.
бандли кустарні - без комона
TuxujPes @TuxujPes вертається у часі і качає джквері - жизнь прекрасна, праблєми - нічтожні
Taras Kharuk
@TuxujPes
Mar 02 2016 15:18
і таки да, якщо рендер викликається з одного реакт об”єкту то сетаються різні data-reactid тому, мабуть, це все-таки якось пов”язано)
Denis Stoyanov
@xgrommx
Mar 02 2016 15:19
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 15:20
я уже посмотрел твою репу
Denis Stoyanov
@xgrommx
Mar 02 2016 15:20
то первые попытки экспериментов)
@chicoxyzzy и ты как всегда заговнишь?)
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 15:22
ну.. я нашел много чего, к чему можно придраться)
Denis Stoyanov
@xgrommx
Mar 02 2016 15:22
@chicoxyzzy вперед) это же так на коленке дома ночью в темноте :smile:
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 15:23
не сейчас. я сейчас занят немношк
Denis Stoyanov
@xgrommx
Mar 02 2016 15:23
ясно(
видимо ничего тебе как всегда не понравилось)
Alexey Migutsky
@mr-mig
Mar 02 2016 17:28
Может быть кому-нить пригодится:
https://github.com/webpack/mocha-loader/issues/22#issuecomment-191338731
Artyom Trityak
@artyomtrityak
Mar 02 2016 19:42
кто-то переопределял в реакт нейтиве чтото из бабеля в .babelrc?
Terry Sahaidak
@terrysahaidak
Mar 02 2016 19:56
нєа, не доводилось, а нащо вобше?
Artyom Trityak
@artyomtrityak
Mar 02 2016 20:01
я хочу попробовать ts
флоу ок но проосто интересно как там тс
Maxim
@stigmat4j
Mar 02 2016 20:11
а почему так от es6 отказывается в пользу ts?
какой профит? Я знаю только за указание типов переменным и то не уверен, что это так.
Vlad Yanchevsky
@chevsky
Mar 02 2016 20:13
ts умеет в es6
Artyom Trityak
@artyomtrityak
Mar 02 2016 20:20
тут вышел срач, я за ес2015 и флоу но говорят тс круто хочу попробовать
Maxim
@stigmat4j
Mar 02 2016 20:21
а что за флоу?
function bar(x: string, y: number): string {
  return x.length * y;
}
оно?
Artyom Trityak
@artyomtrityak
Mar 02 2016 20:22
ну
Maxim
@stigmat4j
Mar 02 2016 20:22
а толк?
Artyom Trityak
@artyomtrityak
Mar 02 2016 20:22
что толк?
Maxim
@stigmat4j
Mar 02 2016 20:23
ладно в java есть смысл играться с размерами типов данных, но тут зачем это?
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 20:23
@stigmat4j PropTypes юзаешь?
Maxim
@stigmat4j
Mar 02 2016 20:23
хотя ради 1 == "1" = true?
@chicoxyzzy очень редко
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 20:24
зря
Maxim
@stigmat4j
Mar 02 2016 20:25
я не ради холивара, не подумайте. Я очень люблю новое, но если оно реально помогает в работе.
Roman Pominov
@rpominov
Mar 02 2016 20:26
@stigmat4j а юнит тесты юзаешь?
Maxim
@stigmat4j
Mar 02 2016 20:26
yep
Roman Pominov
@rpominov
Mar 02 2016 20:27
ну вот типы это как юнит тесты которые не надо писать в каком-то смысле
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 20:27
(но лучше писать)
Roman Pominov
@rpominov
Mar 02 2016 20:27
они немного другого рода баги ловят
но с другой стороны есть баги которые ловят типы, но не могут ловить тесты
Maxim
@stigmat4j
Mar 02 2016 20:28
не убедили)
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 20:28
@stigmat4j короче пока не попробуешь сам, не поймешь
Roman Pominov
@rpominov
Mar 02 2016 20:28

(но лучше писать)

да, я не имел в виду что типы заменяют тесты

но какое-то подмножество заменяют
Terry Sahaidak
@terrysahaidak
Mar 02 2016 20:42
типи змушують більше думати про свій код, і писати його правильно, і дебаг стає простіший
@artyomtrityak я десь бачив приклад ts-rn
facebook/react-native#2502
tl; dr
-- можна юзати тайпскрипт?
-- нє. тайпскрипт гівно. в нас є флоу, який не гівно. юзай його.
:D
Illia Seheda
@ALF-er
Mar 02 2016 21:08
Lightning Talks - Jake Taylor Лайтнинг о https://www.fusetools.com/ Он уже тут обсуждался коротенько. Это альтернатива RN. Он очень похож (декларативная разметка, логика на JS) и если честно выглядит круто. И у него есть крутые фичи типо поддержки нативных анимаций, прямого юзания OpenGL. Чуваки вроде и не такие известные но оказывается они же и разрабатывают GPU Mali-400 которые юзаются в ядрах Cortex-AX, а следовательно в миллионах смартфонов
Lightning Talk - Scott Kyle Лайтнинг-представление https://realm.io/ Это асинхронное персистент хранилище для мобилок. Это скорее альтернатива SQLite. Транзакции, выборки, производительность судя по тестам выше чем у SQLite и юзается кучей компаний. Имеет байндинги в RN, ObjC, Swift, Java
Artyom Trityak
@artyomtrityak
Mar 02 2016 21:16
@terrysahaidak там грунт/гулп компиляция а потом реакт нейтив бабель компиляция, это отстой
Glebcha
@glebcha
Mar 02 2016 21:58
юзаю PropTypes и flow, что я делаю не так? чем TS лучше и компилируемее?
Artyom Trityak
@artyomtrityak
Mar 02 2016 21:59
@glebcha там в нодовом чатике обсуждение
Glebcha
@glebcha
Mar 02 2016 21:59
последнее время по TS дичайший хайп, как и по бэкбону почему-то
Artyom Trityak
@artyomtrityak
Mar 02 2016 21:59
в 2х словах nullable типы и написано на жс = проще контрибьютить
по бекбону?)
как будто машина времени
Glebcha
@glebcha
Mar 02 2016 22:00
как ни странно да, то ли легаси повсплывало, то ли окончательно ебнулись иностранные заказчики
но уже от 4-й компании в требованиях вижу и знакомые коданы говорят о таком внезапном поведении
ладно TS, с ним все понятно и товарищи джависты любят всучить "полезные знания"
но бэкбон-то зачем/куда/почему.....один ответ меня заставил почувствовать дух беспечности и ИЕ - "его роутер в ИЕ8 работает"
вот это поворот
Artyom Trityak
@artyomtrityak
Mar 02 2016 22:09
чем тебе бекбон неугодил-то?
Illia Seheda
@ALF-er
Mar 02 2016 22:13
facebook/react#6170
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 22:14
ну надо же
глядишь скоро они сами мою концепцию запилят все же
Illia Seheda
@ALF-er
Mar 02 2016 22:15
не тупи - контрибьють
(только сначала объясни идею)
немного релейтед конверсейшинов (смотрите в реплаях) https://twitter.com/dan_abramov/status/705137526965727232
Glebcha
@glebcha
Mar 02 2016 22:17
@artyomtrityak не, мне вообще без разницы если это не ангуляр
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 22:19
мне бы еще из насущного
facebook/react#3398
в общем, да. надо посмотреть что они там хотят. это клево
Illia Seheda
@ALF-er
Mar 02 2016 22:24
Кто у нас тут умный:
  1. Incremental updates in chunks. Maybe even two different versions of the same tree at the same time!
  2. Back and forth yielding (and prerender) to support layout. This probably also includes a new type of "context".
  3. Error boundaries that catches updates.
1. Это вроде о том, что именно @chicoxyzzy хотел? Как-то рендерить только один компонент но не рендерить его детей?
2. Это вообще о чём? Судя по обсуждению в тви - это асинхронный рендер каких-то компонентов. Но что за back and forth? =|
Illia Seheda
@ALF-er
Mar 02 2016 22:29
3. Типо если валится один компонент, то не валилось всё дерево?
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 22:31
2) про асинхронность, разбиение одного синхронного рендера на разные подтаски типа. для воркеров и т.д. это я тоже хотел
3) да, чтобы аппа не оказывалась сломана совсем
This message was deleted
Illia Seheda
@ALF-er
Mar 02 2016 22:32
слеши не пашут =/
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 22:34
1) скорее про атомарные диффы, рендер и так “атомарный"
почти все, что я хотел, короче
точнее даже это все, что мне надо от реакта. остальное мне надо вне его (не считая удобного обзёрвабл-комплейнт апи, но эт хрен с ним, оптимизируют stateless components и будет ок сторонней либо прикрутить)
Illia Seheda
@ALF-er
Mar 02 2016 22:38
ну посмотрим как пойдёт
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 22:45
ироникли, с 3 может помочь zone.js из ангуляра
cc @artyomtrityak
Artyom Trityak
@artyomtrityak
Mar 02 2016 22:46
че?
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 22:46
и с 2 тоже)
см выше
Illia Seheda
@ALF-er
Mar 02 2016 22:46
а может и не помочь
Artyom Trityak
@artyomtrityak
Mar 02 2016 22:47
на самом деле если бы не уебищный синтаксис шаблонов то я бы попробовал ченить небольшое напилить на ангуляре
Illia Seheda
@ALF-er
Mar 02 2016 22:47
втором я надеюсь =)
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 22:48
если найду время, то не смотря на уебищный синтаксис чо-нить попробую
Artyom Trityak
@artyomtrityak
Mar 02 2016 22:48
ну понятно что 2м
на 1м я писал - непонравилось
@chicoxyzzy я лучше инвестирую это время в реакт нейтив релей и графкл
ток нужно чтобы эти черти допилили локальный стейт
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 22:49
а они планируют?
вообще мне важнее вебсокеты всякие
локальный стейт пофиг
Artyom Trityak
@artyomtrityak
Mar 02 2016 22:50
@chicoxyzzy у них в роадмапе есть локальный стейт, но както вяло идет развитие
без локального стейта приходится крутить каокйто редукс для UI и это тлен супортить 2 артихектурных подхода
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 22:51
ну это фигня…
чего там суппорить
я даже согласен на 1 стор и редукс в этом случае лол
Illia Seheda
@ALF-er
Mar 02 2016 22:53
https://twitter.com/sebmarkbage/status/705163407163457536 о чём он =/ что за "whole program polyfills"...
Artyom Trityak
@artyomtrityak
Mar 02 2016 22:54
трололо?
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 22:54
видимо про то, что мы компилим все вместе с исходниками из npm
Artyom Trityak
@artyomtrityak
Mar 02 2016 22:54
хочет заполифилить реакт
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 22:55
хотя хз
у него там еще второй коммент
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 23:18
the first release candidate of v15 will be released within the next two days. Also, Facebook is already running React v15 in production now.
Denis Stoyanov
@xgrommx
Mar 02 2016 23:26
@chicoxyzzy будет от тебя критика, что не так в моей репе?
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 23:27
@xgrommx ну точно не сейчас) я сейчас пытаюсь прочитать всякие твиттеры и параллельно допилить фичу в рабочем проекте)
Denis Stoyanov
@xgrommx
Mar 02 2016 23:29
@chicoxyzzy просто насколько критично я неудачник :smile:
Sergey Rubanov
@chicoxyzzy
Mar 02 2016 23:30
@xgrommx почему неудачник?) мне просто не понравилось что-то в имплементации
и вообще почему я сразу? :)
Denis Stoyanov
@xgrommx
Mar 02 2016 23:36
@chicoxyzzy ты высказал мнение) скажи хоть куда копать) ибо я полюбил join pattern