
pepsi ¯\_(ツ)_/¯
14.07.2017
07:14:07
а без этого функцию, которая сохраняет данные обратно в первоначальном виде, будет не профунктор еще?

Дмитрий
14.07.2017
07:14:23

Evgeny
14.07.2017
07:14:37
Хмм, смахивает на линзы. Только там про доступ, а тут конвертация

Дмитрий
14.07.2017
07:15:04
Линза — это часть профунктора

Google

Дмитрий
14.07.2017
07:15:07
Половина
Getter
Вообще, профунктор — это просто комбинация функции до (геттера) и функции после (сеттера), но я описал чуть менее формально

Evgeny
14.07.2017
07:16:49
О, теперь понятнее

kana
14.07.2017
07:16:51
Вот он, чатик по реакту, которого я хотел
На самом деле многие такие концепции кажутся сложными только потому что их сложно объясняют, а не потому что они реально сложные

Stepan
14.07.2017
07:20:22
Где читать про такое?

Дмитрий
14.07.2017
07:20:42

Stepan
14.07.2017
07:22:00
Дай пример хорошего названия такой функции

Дмитрий
14.07.2017
07:23:00
Выше же

Stepan
14.07.2017
07:23:06
Ну это абстрактно
Надо же как-то в имени функции отразить, как именно она переименовывает поля

Дмитрий
14.07.2017
07:23:50
Это и есть абстракция

Google

Stepan
14.07.2017
07:24:57
Алсо, если я не ошибаюсь, профунктор это довольно интуитивно. Так?

Дмитрий
14.07.2017
07:26:08
Да

kana
14.07.2017
07:26:56
Фэнтази-лэнд спеку можно. Я ее правда не читал, только начинал

Дмитрий
14.07.2017
07:28:27

illiatshurotshka❄️
14.07.2017
07:32:00

Дмитрий
14.07.2017
07:32:21
Это тесно связанные понятия
Профунктор просто действует иначе

illiatshurotshka❄️
14.07.2017
07:33:07
да

Дмитрий
14.07.2017
07:33:18
А так да, это та же самая пара функций.
Условно, бифунктор — параллелен, профунктор — последователен

illiatshurotshka❄️
14.07.2017
07:34:06
профунктор def dimap[A, B, C, D](fab: P[A, B])(f: C => A)(g: B => D): P[C, D]
бифунктор def bimap[A, B, C, D](fab: F[A, B])(f: A => C, g: B => D): F[C, D]

Дмитрий
14.07.2017
07:34:49
профунктор def dimap[A, B, C, D](fab: P[A, B])(f: C => A)(g: B => D): P[C, D]
бифунктор def bimap[A, B, C, D](fab: F[A, B])(f: A => C, g: B => D): F[C, D]
promap, dimap ≈ bimap

Artyom
14.07.2017
07:35:41
Как подключить стили к HMR, если они генерятся только после сборки вебпака?

Сергей
14.07.2017
07:35:50

Stepan
14.07.2017
07:35:55

Дмитрий
14.07.2017
07:36:00
))

Artyom
14.07.2017
07:36:01
Класс

Google

kana
14.07.2017
07:36:26
Ох, а вот скалу я не понимаю совсем

Stepan
14.07.2017
07:37:45
Господи, кофескрипт в руках распиздяев это страшно.

Дмитрий
14.07.2017
07:37:49
Мне все говорят, что я из жс скалу делаю ? Даже профункторы как то удобнее оказалось сделать классами ?
Сказывается наверное то, что грешил с Java в прошлом))

andretshurotshka?❄️кде
14.07.2017
07:41:21

Vladimir
14.07.2017
07:42:29

andretshurotshka?❄️кде
14.07.2017
07:46:08

Дмитрий
14.07.2017
07:46:43
Ну это конечно, но всё равно временная мера
Ts не хочет расходиться с js (что логично)
Значит следует ожидать deprecated рано или поздно
Ну или «deprecated», как они любят

Stepan
14.07.2017
07:49:14
Какие подводные камни в том, чтобы тупо без раздумий перейти на ts?

Stepan
14.07.2017
07:49:40
Не сильно много хлопот доставляет?

Дмитрий
14.07.2017
07:49:43
flow
Ето криптонит тайпскрипта

Stepan
14.07.2017
07:50:11
Спасибо, погляжу
У меня в проекте что-то крутится на флоу
Надо тоже поглядеть

andretshurotshka?❄️кде
14.07.2017
07:50:45

Ches
14.07.2017
07:54:21
можете подсказать почему не обновляется правильно стейт родительского компонента, если вызвать два коллбека на обновление стейта подряд из дочерних компонентов? что то я не понимаю как это под капотом работает

Google

Ches
14.07.2017
07:54:52
такой костыль заработал вроде

Max
14.07.2017
07:55:20
что значит “не обновляется”?

Ches
14.07.2017
07:55:52
как я понял второй колбек перетирает обновление первого

Max
14.07.2017
07:56:09
хуйня какая-то

Ches
14.07.2017
07:56:13
если без сет таймаута

Max
14.07.2017
07:56:21
покажи код handleData

lamo2k
14.07.2017
07:56:31

Admin
ERROR: S client not available

Max
14.07.2017
07:56:52
ни на что не намекает
колбек сетстейта не при чем
@HappyLoL123 код покажи

Ches
14.07.2017
07:57:31
вот как в родительском компоненте это выглядит
потом эта функция передается в дочерние и вызывается как this.props.handleData

Max
14.07.2017
07:58:06
а, лол
тут да
race condition
лучше в стейте хранить plain обьект
перетирать не будет

Google

Max
14.07.2017
07:58:42
либо возвращать промиз
в смысле можно setState({[name]: value}) делать
он остальную часть стейта не тронет
ну лоибо как ламо2к сказал вариант

Ches
14.07.2017
08:00:47
там профиль, большой стейт, мне показалось лучше данные для сервера хранить в отдельном объекте

Max
14.07.2017
08:00:47
еще вариант простой - сделай функцию handleMultipleChange
в который отправляй
{
val1: ‘1’,
val2: ‘2’
}

Ches
14.07.2017
08:01:16
хах, так и было)
решил порефакторить)

Max
14.07.2017
08:01:24
:)
ну это самый простой вариант

Дмитрий
14.07.2017
08:01:54
Так и придумали redux

Ches
14.07.2017
08:02:03
а мой сеттаймаут это костыль?

Max
14.07.2017
08:02:05
в пизду редакс :)

Дмитрий
14.07.2017
08:02:07

Max
14.07.2017
08:02:09

Ches
14.07.2017
08:03:01
спасибо

Max
14.07.2017
08:03:05
а ты потом данные в одном месте юзаешь?
или в куче компонентов?

Сергей
14.07.2017
08:03:33
Вот тут лучше ридакс
Чем вот это вот