
Дмитрий
20.09.2017
19:59:34
Ну и так далее. Главное — это всё можно объединять в композицию, а так как эти объекты будут равны по ссылке, то можно будет получить мемоизацию бесплатно
То есть идти от моделей, которые ни у кого никогда нормально не описаны, а от самих запросов

Котяй Негодяй
20.09.2017
20:00:34
Хм.
Но... Тогда у нас всё есть.

Google

Дмитрий
20.09.2017
20:00:58
Ага, но нет
Мне даже Maybe пришлось самому писать nuff said
Хотя там принципы простые как кастрюля, этим просто в жс пока что никто не озаботился

Default
20.09.2017
20:03:58
Дык всё уже написано до нас

Дмитрий
20.09.2017
20:04:04
Смешно

Default
20.09.2017
20:04:23
Я видел где-т на просторах гитхаба реализацию основных монад на жс

Дмитрий
20.09.2017
20:04:40
Я их все поимённо знаю

Default
20.09.2017
20:04:55
И все они так себе?

Дмитрий
20.09.2017
20:05:40
Ни одной нормальной полной библиотеки, везде одни проблемы. Как минимум они все написаны без типизации, я уж не говорю о том, чтобы на флоу писали чтобы что-то выводилось
map — это когда возвращаем просто значение, chain — когда другой Maybe
В рзеультате keyQuery — это запрос, по которому могут отсутствовать вообще все аргументы, но ничего падать не будет, так же как ничего больше не требуется проверять вручную
Имплементация Maybe в наивной форме — строчек 15, почему этим никто не пользуется?
Вероятно, по той же причине, почему никто не написал до Абрамова redux, код которого можно уместить в один твит

Алексей
20.09.2017
20:11:14
дело не в Maybe а в >>= )

Google

Дмитрий
20.09.2017
20:11:33
Так вон он на скрине в chain)
Причём более того, я не заменяю >>= на yield как в саге только потому что у меня при этом тип не выводится, а в чистом жс уже можно прям щас делать всё на таких биндах
Даже асинхронно

Алексей
20.09.2017
20:13:21

Дмитрий
20.09.2017
20:19:15
Ну в общем в жс можно сделать monadic bind используя генераторы, fluture например такое предлагает уже сейчас https://github.com/fluture-js/Fluture#do
А когда всё синхронно, всё становится вообще до невозможности просто)
class Just {
constructor(value) { this.value = value }
map(fn) {
return new Just( fn( this.value ) )
}
chain(fn) {
return fn(this.value)
}
}
class Nothing {
map(fn) {
return this
}
chain(fn) {
return this
}
}
Вот это и есть страшная монада Maybe, надеюсь вы не сильно испугались))

Алексей
20.09.2017
20:21:07

Дмитрий
20.09.2017
20:21:33
s/yield/<-/
Хз что не так)

Алексей
20.09.2017
20:22:34
ну учитывая что do-нотация это как бэ сахар...)

Дмитрий
20.09.2017
20:22:43
Как и генераторы
Одно можно свести к другому

Алексей
20.09.2017
20:23:38
генераторы сахар? над чем

Дмитрий
20.09.2017
20:24:14
Это просто одна из имплементаций протокола Iterator
Я просто не оч понимаю причины по которым этого всего в жс до сих пор нет, просто потому что этим никто не озаботился, либо потому что "здесь так принято"
Сейчас вот смотрю что можно взять из пурсы в жс
Взял код на purescript, скомпилировал, прогнал через rollup, потом через lebab, потом через eslint —fix, получив при этом скомпилированный код в es6
Сверху добавил директиву //@flow
Смотрю что вывелось в типе и как это можно использовать

Алексей
20.09.2017
20:30:18

Дмитрий
20.09.2017
20:32:51
purescript оч гордится тем, что у него нулевой рантайм, и поэтому компилится всё прямолинейно как рельса))
Ща найду пример

Yaroslav
20.09.2017
20:35:19
https://pp.userapi.com/c841633/v841633114/1e598/aRKAfoFwRsE.jpg
что такое idle?

Google

kana
20.09.2017
20:35:41
Простой

Дмитрий
20.09.2017
20:38:27
То есть все проверки компилируются в минимально возможную форму (тут код ещё до оптимизаций)
После роллапа с лебабом вообще прям нормальный жс код с классами получается)

kana
20.09.2017
20:46:56
Чет в dropSingleComment take 1 явно лишний. Или это важно в энергичном языке для паттерн-метчинга? Вроде без разницы, там обычные жс-овские массивы, они в любом случае полностью вычислятся до take 1

Дмитрий
20.09.2017
20:50:43
Всё проще, я просто фигово пишу на purescript

kana
20.09.2017
20:52:43
Все хочу пурсу изучить, но никто писать мне на ней не даст

Дмитрий
20.09.2017
20:53:07
Там короче просто строка, возможно содержащая // делится на всё что до, и то что после, потом берётся только то, что до

Igor
20.09.2017
20:59:42
упс
пардон

Jake
21.09.2017
05:47:46
Привет парни кто нибудь тестил sagas.js?

Dmitry
21.09.2017
05:54:51
Интересно, почему в списке css-in-js https://github.com/MicheleBertoli/css-in-js отсутствует pre-jss
Вообще, куда смотреть при выборе?

? ethorz
21.09.2017
06:07:53
почему вдруг какой-то компонент вдруг не может хендлить события?

Dmitry
21.09.2017
06:10:11

Andrey
21.09.2017
06:13:34
Доброе утро! Кто нибудь юзал sencha components для react?

? ethorz
21.09.2017
06:15:39

Dmitry
21.09.2017
06:19:43
проверь например что они навешиваются как addEventListener , а не on<eventname>, иначе обработчики друг друга вытесняют.
вот что показывает Chrome Devtools на вкладке Elements -> Event Listeners с проставленной галкой Ancestors и с выбранным целевым html-узлом ?
хотя в случае с jsx такой косяк допустить наверное нереально..

Alex
21.09.2017
06:24:32
Всем привет, подскажите пожалуйста, если у меня в приложении на планшетах, телефонах будут размещаться другие компоненты - это лучше делать отдельную мобильную версию?
Или может быть приемлимо делать в коде проверки на разрешения экранов?

Google

Emir
21.09.2017
06:29:00
it('addTodoRequest testSaga', () => {
const text = 'test'
testSaga(addTodoRequest)
.next()
.take('ADD_TODO_REQUEST')
.next({text: 'kek'})
.call(addTodo, text)
.isDone()
})
it('addTodoRequest testSaga', () => {
const text = 'test'
testSaga(addTodoRequest)
.next()
.take('ADD_TODO_REQUEST')
.next({text: 'test'})
.call(addTodo, text)
.isDone()
})

Mykola
21.09.2017
06:39:12
Ребят, подскажите пожалуйста. Использую я значит React Starter Kit. С React.js, Apollo, GraphQL. И когда использую мутацию с refetch, то у меня страница где это происходит, немного скролиться вверх. Убираю refetch данных, все нормально. Пробовал искать по проекту все что связано со скролом и убирать, но ничего не помогло.
И самое странное что только в Firefox
От дебажить с помощью breakpoint на ивент scroll, тоже не выходит.
https://github.com/keenethics/estimateit/blob/master/src/components/Reports/index.js
Функция updateEstimate

Vladyslav
21.09.2017
06:43:16
хлопцы ,а какой компонент юзаете для pop-up ?

Alex
21.09.2017
06:50:12

Vladyslav
21.09.2017
06:50:23
я не юзаю материла-юай)

Emir
21.09.2017
06:52:23
@amanku

code4aman
21.09.2017
06:54:21
¯\_(ツ)_/¯

Evjeni
21.09.2017
06:58:04
Господа, мне нужно документировать иерархию своих компонентов, не знаете ли вы сервиса с блок схемами?

Anton
21.09.2017
06:59:08

Женя
21.09.2017
06:59:19
опередил

Evjeni
21.09.2017
07:00:16
благодярю

Rustem
21.09.2017
07:19:42
Доброго времени суток, как в Redux Form после сабмита добавить к определенному полю ещё одно значение?
Например:
Есть поле address, у которого с формы я считываю значение и после сабмита хочу добавить ему поле тип
address = {
value: 'Значение введённое пользователем',
type: 'моё кастомное значение, которое добавялется после сабмита'
}

Vladyslav
21.09.2017
07:26:26
юзай action change
https://redux-form.com/7.0.4/docs/api/actioncreators.md/#-code-change-form-string-field-string-value-any-code-

Roman
21.09.2017
07:40:33
кто юзает material ui? Как форматировать вводимые данные для textfield компонента? атрибут pattern чет не работает

Juri
21.09.2017
07:47:27
Форматировать?

Google

Roman
21.09.2017
07:48:46

Dmitry
21.09.2017
07:49:08
react-input-mask

Juri
21.09.2017
07:49:14
Там простой input

Dmitry
21.09.2017
07:49:17
там есть метод для форматирвания по патерну

Roman
21.09.2017
07:49:38

Dmitry
21.09.2017
07:49:39
в метириал юай паттерн это валидация по патерну стандартная
почитай доку
блет
а
а сорри это не тот моодуль, https://github.com/text-mask/text-mask/tree/master/core
вот тут есть форматирование по патерну. просто метод conform to mask вызываешь на ченж

Roman
21.09.2017
07:52:03

gravizappa
21.09.2017
07:53:36
Ребят, ищу фронтендера на разработку фронта для большого проекта с нуля. С перспективой на тим лида. Планируется React + ExtJs. Кому интересно пишите. Вакансия в Москве.

ed
21.09.2017
07:53:44
народ, есть у кого-нибудь ссылка на рабочий boilerplate под последний webpack с hot reload и пр. штуками? пример конфига надо, под себя заточим, обновим

Dmitry
21.09.2017
07:54:19
arc.js.org

ed
21.09.2017
07:54:38
спс

Roman
21.09.2017
07:56:57

ed
21.09.2017
07:58:12
ну там уже заточу)