@react_js

Страница 3169 из 5115
Andrey
15.02.2018
08:29:29
Рекорды можно выкинуть и норм.

Vitaly
15.02.2018
08:31:17
о, речь про immutable наконец-то зашла! ребзя, как "правильно" его экстендить?)

Дмитрий
15.02.2018
08:31:48
А какой кейс? ? Мне пока не требовалось, ток смутно помню что возможность есть

Google
Vitaly
15.02.2018
08:34:22
В общем - у менять есть Mapы, мне нужно в них домешать методы типа "onClick" что бы упростить api, я вынес себе мозг и единственное решение которое нашел - это делать record

вот пример https://github.com/findify/findify-js/blob/develop/packages/react-connect/src/immutable/createRecord.ts

проблемы 2 - оверхед на создание нового инстанса при первичном проходе цыклом, toJS во вложенных рекордах не цепляется

Дмитрий
15.02.2018
08:37:37
Ой чет жёсткое)

Vitaly
15.02.2018
08:40:57
Ой чет жёсткое)
вот так вот :( зато меньше ререндеров, мемоизация и другие ништяки которые предоставляет immutable)

Nikolay
15.02.2018
08:44:08
Тут это... пишут, что хоки кал, юзайте, мол, рендер-пропсы. Чё скажете?

Тимофей
15.02.2018
08:47:40
Тут это... пишут, что хоки кал, юзайте, мол, рендер-пропсы. Чё скажете?
Надо и то и то использовать, оба варианта не покрывают все кейсы

Vitaly
15.02.2018
08:56:24
Кстати, еще момент про immutable - он весит на 5кб больше чем lodash на минималках :|

Дмитрий
15.02.2018
08:57:44
Моя минималка лодаша в проекте: 0Кб)

Nikolay
15.02.2018
08:58:29
Парни, нужна ваша помошь, есть два стула... Точнее есть 500+ дерево комментариев с вложенностью друг в друга, нужно показывать под комментарием форму ответа если чувак нажал reply у этого комментария. Сейчас комментарии рендерятся через renderComment туда передается обернутый в connect комментарий. Комментарию из стейта приходит targetFormId, он сравнивает его со своим id и показывает форму. Вроде все хорошо, но не совсем. Когда мы тыкаем на reply у комментария, а потом следом на reply у другого, предыдущая форма скрывается. Такое поведение возможно только если перерендерить все дерево коментариев, что и делают обернутые в connect комментарии. Есть ли другой нормальный способ показывать форму реплая под комментарием и сразу скрывать под другим?

Vitaly
15.02.2018
08:58:43
Дмитрий
15.02.2018
09:00:18
а сколько у тебя рамды?)
После того как я решил, что объекты-мапы мне не бро, использование рамды резко начало сокращаться

Google
Nikolay
15.02.2018
09:02:03
А что такое targetFormId?
это id комментария у кого показать форму реплая

Сергей
15.02.2018
09:02:09
адок

Дмитрий
15.02.2018
09:03:10
почему?
Почему не бро или почему из-за этого сокращается?)

Nikolay
15.02.2018
09:03:20
у тебя 500+ коннектов, вложенных?
нужно как то получить так, чтобы ререндерился только тот коммент у которого нужно убрать форму и тот у которого нужно показать

Kos
15.02.2018
09:03:30
Почему не бро или почему из-за этого сокращается?)
ну сокращение понятно, почему не бро?

Andrey
15.02.2018
09:03:34
это id комментария у кого показать форму реплая
Сделай иммутабельное дерево, в узле которого есть булев флаг, показывать форму или нет.

Andrey
15.02.2018
09:04:02
А показ формы снаружи контролируй отдельно.

pure
И как поможет, если у всех один и тот же пропс поменялся?

Дмитрий
15.02.2018
09:05:09
ну сокращение понятно, почему не бро?
Потому что объекты делают всё чтобы их не пытались юзать как мапы. И по прототипам ползают, и тип меняют, и сортировку свою собственную ставят и тому подобное

Max
15.02.2018
09:05:18
в mapStateToProps передаешь { renderForm: state.renderID==formId }

и pure начинает нормально работать

Дмитрий
15.02.2018
09:05:29
Их, блин, просто неудобно юзать, на самом деле

Объекты-мапы — не бро

Andrey
15.02.2018
09:06:02
и pure начинает нормально работать
Ну, как вариант. Но всё равно надо пробежаться по каждому комментарию. Хз какая это нагрузка.

Google
Andrey
15.02.2018
09:06:09
Если подходит, то лучше так, да.

Nikolay
15.02.2018
09:06:51
в mapStateToProps передаешь { renderForm: state.renderID==formId }
в каждый коннеченый комментарий прилетает targetFormId, который как известно по клику на reply меняется и все абсолютно все pure компоненты коментариев начинают ререндерится, ибо prev.targetFormId !== next.targetFormId

Nikolay
15.02.2018
09:07:58
ну сейчас да, у меня через булев сделано, но сука оно все равно все 500+ ререндеров делает

Max
15.02.2018
09:08:03
в доке редакса реально хуево объясняют зачем нужен mapStateToProps

поэтому возникают такие вопросы

Nikolay
15.02.2018
09:08:56
const ConnectedCommentsForm = connect((state, props) => { const replyFormId = replyFormIdSelector(state) return { key: props.parentId, visible: props.parentId === replyFormId || props.parentId === 0, } })(CommentsForm)

Max
15.02.2018
09:10:08
ну вот

а теперь добавь sCU в CommentsForm

Max
15.02.2018
09:11:39
сова походу осовился совсем

Andrey
15.02.2018
09:11:46
Сова, что с тобой последнюю неделю?

Max
15.02.2018
09:11:47
одними матами и междометиями общается

Andrey
15.02.2018
09:11:58
Чувство, что тебе кирпич в голову подарили.

Дмитрий
15.02.2018
09:12:29
?

Google
Сергей
15.02.2018
09:12:39
& > * + *

Vadim
15.02.2018
09:12:42
Дмитрий
15.02.2018
09:12:48
Дружелюбное Комьюнити ™️

Max
15.02.2018
09:12:52
сова на барбитуратах просто

Сергей
15.02.2018
09:13:01
лоботомированный сова

Max
15.02.2018
09:13:06
ну кстати да

мозг пропал

удалили

Сергей
15.02.2018
09:13:19
⌘ + backspace

Andrey
15.02.2018
09:13:25
Дружелюбное Комьюнити ™️
Ну мы беспокоимся.

Mike
15.02.2018
09:13:53
⌘ + backspace
всегда было интересно, как вы на маках без делита живете?

Max
15.02.2018
09:14:08
фн+бекспейс

Виталий
15.02.2018
09:14:10
const ConnectedCommentsForm = connect((state, props) => { const replyFormId = replyFormIdSelector(state) return { key: props.parentId, visible: props.parentId === replyFormId || props.parentId === 0, } })(CommentsForm)
а нафига делать вызов replyFormId если потом его рендер зависит от сравнения с пропсом парент, у тебя там под капотом битки не фармятся случаем?

Mike
15.02.2018
09:14:26
фн+бекспейс
отвратительно же, в каком месте это удобный UX?

Max
15.02.2018
09:14:35
норм, привык

Andrey
15.02.2018
09:14:50
Mike
15.02.2018
09:14:52
хуже этого только 14-дюймовые ноуты с fn + <= вместо home

Google
Сергей
15.02.2018
09:15:01
Mike
15.02.2018
09:15:37
а он же редко нужен
я постоянно им пользуюсь, хз

Andrey
15.02.2018
09:15:45
а в чем проблема?
connect должен быть как можно ближе, нет?

Max
15.02.2018
09:15:53
так

свалите в @macos_ru

а, ты про то что коннект запихать в форму реплая?

Andrey
15.02.2018
09:16:40
не понял
Как я понял, он форму ответа в компоненте комментария рендерит, хотя можно разбить на 2 компонента и не мучать мозг.

Max
15.02.2018
09:16:43
погоди

он рендерит CommentsForm

есличо )

Andrey
15.02.2018
09:17:16
Ну хрен знает что он называет так)

Страница 3169 из 5115