
Дмитрий
10.10.2017
03:37:05
Ура! Мы почти без ошибок вывели тип поля в js. Осталось ещё пол сотни таких же

andretshurotshka?❄️кде
10.10.2017
03:39:32
О нет типы
О нет мтпрото в реакт чате

Google

Юра
10.10.2017
03:40:32
obj может быть не объектом - obj._ упадёт с ошибкой, возвращается тоже объект небезопасный для чтения, создавая условия для аналогичной ошибки в следующей функции
Ну, это уже мелочи, скорее для аналитики задачка.
По сути ты Maybe используешь как null-propagation. Это, конечно, клево, но все-таки Maybe должна какбэ связывать значение на разных этапах «конвейера».
Т.е. compose(doFirst, doSecond, doThird) и doFirst, doSecond, doThird принимают и возвращают Maybe.
Или, например, в поле объекта Maybe записать, чтобы потом его прочитать.


andretshurotshka?❄️кде
10.10.2017
03:41:14
Монады можно не расценивать как обычные значения, их смысл намного больше.
У тебя есть какой-то обычный мир вычислений, 5 функций подряд, все как обычно, это Identity-мир.
Но мы можем писать код в Maybe-мире, это такой же мир, как и предыдущий, те же 5 функций, ты работаешь с данными как обычно, только каждая из 5 операций может выкинуть тебя из мира, то есть Maybe дает эффект прерывания выполнения кода в этом мире.
Есть either, который то же самое, только позволяет нашему коду вылететь из мира с каким-нибудь сообщением.
Есть promise, который позволяет нам писать обычный код, только каждая из функций может быть ассинхронной, хоть в нашем промис-мире мы этого не видим
А вселенные в MLTT ето что?

Юра
10.10.2017
03:41:46
По-сути, аналог монад в JS-е это промисы (вроде они даже в монадные законы умеют, но это не точно).

Дмитрий
10.10.2017
03:41:49
Ну, это уже мелочи, скорее для аналитики задачка.
По сути ты Maybe используешь как null-propagation. Это, конечно, клево, но все-таки Maybe должна какбэ связывать значение на разных этапах «конвейера».
Т.е. compose(doFirst, doSecond, doThird) и doFirst, doSecond, doThird принимают и возвращают Maybe.
Или, например, в поле объекта Maybe записать, чтобы потом его прочитать.
А в коде выше по твоему не так?)


Юра
10.10.2017
03:42:51
Или так: (obj || {})._
Или даже
import { get } from 'lodash';
get(obj, '_');
Я тебе про то, что у тебя в коде монады используются как null-propagation. В js-е есть свои техники для этого.
Конечно, не так красиво, это правда.
Кстати, вот недавно в чате пробегал чел с проблемой, у него moment() парсился в Invalid Date, и об этом не было ничего известно вплоть до того, пока у него не начались проблемы с часовыми поясами. .fromNow() выдавал время на два часа позже.
Я не говорю что это прям монадная проблема, но ингода явно обрабатывать ошибки и некорректные значения лучше, чем скрывать их за абстракцией.

Mars
10.10.2017
04:48:05
Всем привет. Ребят, а есть какая то годная CMS на реакте, чтоб можно было быстро что то допилить, если будет нужно что то не стандартное?

equicolor
10.10.2017
04:51:28
Всем привет. Оффтопик: я с полгода уже терплю сломанный tabIndex в поиске гугла (раньше табом можно было перейти из текстбокса поиска к первому результату). Кто-нибудь сталкивался с этим?

Dmitry
10.10.2017
06:00:18
http://prntscr.com/gvh9w8 почему может роут не работать?

Google

Dmitry
10.10.2017
06:02:56
<Route location={location} path="/faq/:id" component={FaqOpen} />

Roman
10.10.2017
06:03:44

Dmitry
10.10.2017
06:03:50
4
"react-router": "^4.2.0",
"react-router-dom": "^4.2.2",

Сергей
10.10.2017
06:32:36
пацаны, архитектура через recompose чем хороша?
вместо обычного объявления класса и внутри него методов
наткнулся на проект, там везде прокидываются экшены в пропах и куча хэндлеров with перед рендером

Artyom
10.10.2017
06:37:53
рекомпоз производительность еще оптимизирует, предоставляет готовые юзабельные хоки, что бы не велосипедировать

sanqa
10.10.2017
06:41:04
парни как вы тестите google tag manager ?

Default
10.10.2017
06:50:40
В смысле?
У гугла есть официальный аддон для хрома
Для проверки всех меток и прочего гуглового барахла
Ты об этом?

Evgeny
10.10.2017
06:52:25

n0z3r0
10.10.2017
07:09:17
Народ решил поделиться статейкой https://goo.gl/e7xKor по поводу наделения компонента Table из material-ui драг н дропом для изменения позиций строк :)
Зацените плиз :)

Artyom
10.10.2017
07:16:09
Прочитал по диагонали, поэтому отпишусь здесь. У react-sortable-hoc при отпускании нет анимации опускания и это было фатально для моего кейса, когда я выбирал либу. React-beautiful-dnd это умеет

Александр
10.10.2017
07:20:10
А есть где-нибудь список трюков/"вещей" которые можно делать с экшенами и редюсерами?

Artyom
10.10.2017
07:21:48
оф дока редакса
Там правда много всего, еще и подробно

Google

n0z3r0
10.10.2017
07:37:47
@artalar Да есть таке конечно но зато не пришлось мучиться с обертками тегов :) и сохранил использование стандартного компонента из material-ui :)

Artyom
10.10.2017
07:38:04
Ну гуд

n0z3r0
10.10.2017
07:38:10
Спасибо за отзыв :)

Gregory
10.10.2017
07:49:41
На правах рекламы, завезли вчера вечером статью как мы пилим экстеншн в Граммари: https://tech.grammarly.com/blog/building-browser-extensions-at-scale (enjoy?)

VanishMax
10.10.2017
07:58:43
В статье описывается сложность сделать связать material-ui 0.*.* с react-beautiful-dnd, потому что первый не работает с react 16. А что если перейти на material-ui v1 ч поддержкой нового реакта? Была бы очень интересна реализация

Artyom
10.10.2017
08:10:27
Я вот не понял, там матЕриал новый же, вроде

Алексей
10.10.2017
08:35:54
@admin

Anton
10.10.2017
08:36:10
всем привет. никто не знает, есть ли что-то типа file-loader только для бабеля? сервер собирается babel-cli, клиент webpack. хочу запилить SSR, а если в клиентской части используется import image from ‘../assets/image.jpg, то бабель такое не может ? а использовать вебпак для сборки сервера ну такое

Александр
10.10.2017
08:37:41
который раз вижу что-то типа этого "типа file-loader только для бабеля" и не могу понять, бабель это же вроде просто интерпретатор кода, что значит файл-лоадер, только для бабеля?

Stepan
10.10.2017
08:37:51

Artur
10.10.2017
08:38:21

Anton
10.10.2017
08:38:23

Anton
10.10.2017
08:40:25

Александр
10.10.2017
08:40:50
ааа
Мне кажется неправильным такое его использование...

Котяй Негодяй
10.10.2017
08:50:13
6. Как расположить к себе админов.

Max
10.10.2017
08:53:10
@admin
леша, @admin не работает

Котяй Негодяй
10.10.2017
08:53:47
никак
Ему чуть-чуть удалось.

Google

Алексей
10.10.2017
08:53:55

Max
10.10.2017
08:53:58
никак

Котяй Негодяй
10.10.2017
08:54:05
Ы

Admin
ERROR: S client not available

Max
10.10.2017
08:54:07
зови кого помнишь

Котяй Негодяй
10.10.2017
08:54:41
Хм. Бота чтоли запилить.

Алексей
10.10.2017
08:54:44

Max
10.10.2017
08:55:04
батлер тупой
я вообще не понимаю что он умеет кроме как стикеры резать

Котяй Негодяй
10.10.2017
08:55:27
Хм.

Max
10.10.2017
08:55:50
можно простую хуйню которая будет банить за репосты из блеклиста

Алексей
10.10.2017
08:55:55
батлер тупой
в плюсовом чате им пользуются, варны и банят им, и админов зовут

Max
10.10.2017
08:56:07
может не настроен
@sergeysova
а кто батлера принес сюда

Nursultan
10.10.2017
08:57:40
Всем привет! Никто не знает бестпрактик как отлавливать ошибки в reactjs. У меня проблема, бывает апи возврощает не те данные которые я жду и у меня приложение ломается. Например "proxyConsole.js:56 Potentially unhandled rejection [1] TypeError: Cannot read property 'id' of undefined"
Как вы с этим боретесь?

Cenator
10.10.2017
08:58:24
Try catch

Google

Nursultan
10.10.2017
08:59:26
Обертку делаете из Try catch и в него компоненты оборачиваете?

Cenator
10.10.2017
08:59:43
Вызов апи оборачиваю
Так же componentdidcatch есть, но это не сюда скорее

Nursultan
10.10.2017
09:02:43
Он в 16- ой у меня 15- я стоит версия

Artyom
10.10.2017
09:03:07
Конечно try catch в вызов апи

Nursultan
10.10.2017
09:04:11
Есть простой пример не представляю как вы делаете?

Stepan
10.10.2017
09:10:39
бля
(очень уж простой пример получился)

Dmitry
10.10.2017
09:10:52
Ребзя, а библеотеку ReactDOM надо отдельно подключать или она импортится сразу? Использую, но пишет ошибку "is not defined"

Stepan
10.10.2017
09:11:00
В пакете React только платформонезависимая часть
Сам алгоритм