@react_js

Страница 2746 из 5115
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
Я бы их назвал просто state queries. Самое тупое, но понятное.
ну ты не просто данные запрашиваешь из стора, ты еще вычисляешь на их основе что-то новое для вью

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
у меня вопрос) а зачем это хранить в редакс сторе? там вроде по смыслу простые переключения табов которые могут быть в стейте компонента
Эти табы разнесены на 3 компонента, к сожалению. + табы переключаться по нажатию на элементы могут.

К сожалению, это необходимость.

Andrew
10.12.2017
10:23:39
у меня вопрос) а зачем это хранить в редакс сторе? там вроде по смыслу простые переключения табов которые могут быть в стейте компонента
Да, тоже хотел это написать. Если это нечто глобальное и надо запоминать и сохранять чтобы при возврате вью сохранилось, то ок, если это чисто локальная фигня, то моветон

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

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

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

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

Распиши, пожалуйста. Не понимаю тебя.
он о hoc компоненты для твоих табов, который будет в себе зранить нужный стейт для их всех

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

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
const projectsFilteredDelete = state.projects.list.filter(project => project.id !== projectId);
Храни данные не массивом, а объектом и удаляй по ключу

Но если уже так, то да, надо так делать, только не filter, а find

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

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

А pubsub как раз для этого существует

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
Я правильно понимаю, что логика зачастую выносится из редьюсеров в миддлвару? А то я не могу придумать как сделать какое-то асинхронное действие в редаксе после какого-либо действия.

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

?
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
а, блин, изначально у меня было все нативно

с лэйблом

забыл убрать

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