
Andrew
10.12.2017
10:14:54
Я постоянно покрываю тестами их в первую очередь и только потом все остальное если там действительно есть где накосячить

Dan
10.12.2017
10:15:04

Andrew
10.12.2017
10:15:19
Как и все в computer science :)
Ладно. Всем реселект, ушёл)

Google

Dan
10.12.2017
10:16:00
Во многих других фреймворках это называется computed property
И в mobx вроде также называется

Andrew
10.12.2017
10:16:32
Ну, по русски - производные данные.

Dan
10.12.2017
10:16:40
вычисляемые

Andrew
10.12.2017
10:16:41
Если я правильно помню значение производная.
Ну или вычисляемые, по сути то же самое.

Dan
10.12.2017
10:17:25
Я просто к тому, что создатели реселкта всех запутали назвав это так

Andrew
10.12.2017
10:17:39
Это дэн так назвал

Dan
10.12.2017
10:17:54
все ноги оттуда похоже)

Andrew
10.12.2017
10:17:55
А назвали либу уже по термину который он придумал)
А так, да. Часто ты тупо селектишь стейт в тупую.

Dan
10.12.2017
10:18:48
ладно, если понимать как это и для чего, похер как это называется

Andrew
10.12.2017
10:18:52
Но в реальности ты тупо делаешь в селекторах столько, что называть их просто селектором бред)

Google

Andrey
10.12.2017
10:19:55
У меня вопрос. Как относитесь к подобной логике в редьюсерах?

Andrew
10.12.2017
10:20:18
Я бы их назвал просто state queries. Самое тупое, но понятное.
Выглядит не плохо. Если там все просто под капотом.

Dan
10.12.2017
10:21:21

Andrew
10.12.2017
10:21:34
Как бы query это делают в то числе
В том же. SQL
И других query languages.

Andrey
10.12.2017
10:22:05

Roman
10.12.2017
10:22:43
у меня вопрос) а зачем это хранить в редакс сторе? там вроде по смыслу простые переключения табов которые могут быть в стейте компонента

Andrew
10.12.2017
10:22:47
Если внутри там все ок и без сортировок и прочего того, чем редюсеры заниматься не должны, то все ок.

Andrey
10.12.2017
10:23:17
К сожалению, это необходимость.

Andrew
10.12.2017
10:23:39

Dan
10.12.2017
10:24:28

Andrey
10.12.2017
10:24:40

Andrew
10.12.2017
10:24:50

Dan
10.12.2017
10:25:04

Andrey
10.12.2017
10:25:19

Dan
10.12.2017
10:25:51
Ну родительская компонента у которой стейт слушает кастомные события, которые может посылать кто угодно

Google

Dan
10.12.2017
10:26:05
и на основе них сетит стейт

Andrey
10.12.2017
10:26:27

Dan
10.12.2017
10:26:45
Кастомные ивенты знаешь что такое?

Roman
10.12.2017
10:26:47
короче читаешь чат и огромное желание старый код весь переписать))) особенно селекторы с фильтрацией))) собственно вопрос связанный...а если мы выстреливаем экшен на удаление в сторе записи? в редьюсере получается полюбасу фильтр нужен

Dan
10.12.2017
10:27:40

Roman
10.12.2017
10:28:05
зачем?
как зачем?) не удалять из стора?)

Andrey
10.12.2017
10:28:12

Dan
10.12.2017
10:28:15
фильтровать?

Roman
10.12.2017
10:28:43
const projectsFilteredDelete = state.projects.list.filter(project => project.id !== projectId);
типо того

Dan
10.12.2017
10:29:11

Dan
10.12.2017
10:29:30
Но если уже так, то да, надо так делать, только не filter, а find

Andrey
10.12.2017
10:30:29
В чём различие кроме большей лапши и загрязнения компонентов?

Dan
10.12.2017
10:31:01
У тебя сейчас редьюсеры имхо не по назначению используются
А pubsub как раз для этого существует

Andrey
10.12.2017
10:31:19

Dan
10.12.2017
10:31:30
Редьюсер должен менять стейт

Google

Andrey
10.12.2017
10:31:35
Только немного криво. Надо будет сделать, чтобы методы возвращали новый стейт.

Alex
10.12.2017
10:32:23
Всем приветик ! Читаю мануал https://m.habrahabr.ru/post/269831/ и мне непонятно следущее в этом куске кода :
<Provider store={store}>
{() => <FriendListApp /> }
</Provider>. Для чего тут стрелочная функция ? Если выводить без нее то работать не будет.

Roman
10.12.2017
10:33:00
функциональный компонент

Dan
10.12.2017
10:33:02
Он меняет.
Не совсем понятно что там происходит. Вроде ты кроме возврата стейта что-то еще делаешь там

Admin
ERROR: S client not available

Andrey
10.12.2017
10:33:31

Dan
10.12.2017
10:34:27
Вроде дело экшена положить что-то в local-storage

Alex
10.12.2017
10:34:34
FriendListApp обыкновенный класс

Andrey
10.12.2017
10:53:54
Я правильно понимаю, что логика зачастую выносится из редьюсеров в миддлвару? А то я не могу придумать как сделать какое-то асинхронное действие в редаксе после какого-либо действия.

Алексей
10.12.2017
11:17:28

Andrey
10.12.2017
11:17:59

marat
10.12.2017
11:28:14
menti.com по коду 12 68 33

Roman
10.12.2017
11:33:04
товарищи а кто какой конфиг eslint использует?)

Nikolay
10.12.2017
11:35:20
airbnb

Cenator
10.12.2017
11:35:54

Andrey
10.12.2017
11:40:54

?
10.12.2017
11:41:41
Рили

Google

Ilya
10.12.2017
12:16:15

SilencerWeb
10.12.2017
12:21:19
Это вообще нормально пилить так чекбоксы? Чет по-моему как-то не очень.
https://gist.github.com/SilencerWeb/cf94fee0214225a577f559f81846c5db

Maxim
10.12.2017
12:23:11
Я бы не стал переназывать пропсы, а стайлед компонент -распилил бы на несколько. Ещё хорошо бы uncontrolled поведение добавить с defaultvalue

SilencerWeb
10.12.2017
12:24:00
можно поподробнее насчет первого предложения?

Maxim
10.12.2017
12:24:34
onClick={ () => props.toggle(props.name) }
лучше заюзать инпутовский проп
и сохранить название

SilencerWeb
10.12.2017
12:25:24
так а мне же нужно обновить state в другом компоненте

Maxim
10.12.2017
12:25:41
можно прокинуть в инпут сразу
у тебя и див клик слушает и спан внутри него
мапишь пропсы не туда и переназвал их

SilencerWeb
10.12.2017
12:26:20
при клике на спан должны все другие чекбоксы становиться анчекед
и еще фильтр будет

Maxim
10.12.2017
12:26:44
зачем ты завёл props.name

SilencerWeb
10.12.2017
12:27:20
а, блин, изначально у меня было все нативно
с лэйблом
забыл убрать