@react_js

Страница 3983 из 5115
Timur
20.05.2018
19:44:53
Изучаю react + redux. У меня возник вопрос: если я создам 10 редьюсеров, вызову createStore() с этими редьюсерами, затем в каком-нибудь react компоненте вызову dispatch, как Redux определяет какой редьюсер вызвать для конкретного action?

Vlad
20.05.2018
19:47:26
по action.type

Cenator
20.05.2018
19:48:08
Все вызовет, ты только обработку запускаешь если переданный тип совпал

Timur
20.05.2018
19:48:44
Все вызовет, ты только обработку запускаешь если переданный тип совпал
Разве это эффективно? Вызывать все редьюсеры? А если из 100 редьюсеров нужен лишь 1, зачем вызывать остальные 99?

Google
Timur
20.05.2018
19:49:25
Ничего плохого не случится
Слишком пространное заявление

Cenator
20.05.2018
19:49:42
Timur
20.05.2018
19:50:03
Нормальное
Нормальное то нормальное. Но пространное)

Vlad
20.05.2018
19:50:15
проблема высосаная из пальца

Timur
20.05.2018
19:50:31
Vlad
20.05.2018
19:51:24
ну, что ты пытаешься понять)

Timur
20.05.2018
19:52:11
ну, что ты пытаешься понять)
я пытаюсь понять, как работает react c redux. Это не проблема

Vlad
20.05.2018
19:54:02
что там понимать? диспатчишь экшн, у него есть тип, на этот тип срабатывает какой-то редьюсер. вроде как-то так. зачем 100 и куда вызываться должны?

вот тебе всё ден абрамов написал))) https://redux.js.org/basics/reducers

Timur
20.05.2018
19:55:57
что там понимать? диспатчишь экшн, у него есть тип, на этот тип срабатывает какой-то редьюсер. вроде как-то так. зачем 100 и куда вызываться должны?
Я конкретный вопрос задал: Как redux определяет, какую функцию вызвать. В сигнатуре функции action type не указывается, следовательно, вызываются все редьюсеры. Чувак выше это уже подтвердил

Google
Timur
20.05.2018
19:57:25
Как это нет?
А где они есть?

Anima
20.05.2018
19:57:40
В кейсах свича

Oleg
20.05.2018
19:58:14
Разве это эффективно? Вызывать все редьюсеры? А если из 100 редьюсеров нужен лишь 1, зачем вызывать остальные 99?
Это 99 вызовов функций, которые почти сразу завершаются, для браузера это не проблема

Timur
20.05.2018
19:58:17
В кейсах свича
В кейсах свича, то есть внутри редьсера, чтобы до этого кейса добраться, надо сначала выполнить эту функцию. Что тут непонятного?

Vlad
20.05.2018
19:58:54
А где они есть?
я бы рад тебе помочь, ну что-то нихуя не понимаю, что ты хочешь понять

Oleg
20.05.2018
19:58:55
Смотри

Oleg
20.05.2018
19:59:08
В начале редьюсера - проверка на тип экшена

Anima
20.05.2018
19:59:15
Диспетчится действие, пролетает все редюсеры

Находит совпадение - выполняет

Не находит - не выполняет

Oleg
20.05.2018
19:59:41
И какой бы тяжёлый редьюсер не был, он дальше условия не выполнится, если экшн не тот

Anima
20.05.2018
19:59:47
+

Timur
20.05.2018
19:59:52
Не находит - не выполняет
Пролетает все редьюсеры... что значит пролетает? Вызывает редьюсеры ты хотел сказать

Anima
20.05.2018
20:00:00
Я так и сказал)

Ща, сек

Пример приведу

Timur
20.05.2018
20:00:52
И какой бы тяжёлый редьюсер не был, он дальше условия не выполнится, если экшн не тот
А сами вызовы функций разве не "дорогостоящая" операция?

Google
Cenator
20.05.2018
20:00:57
Да камон, давно все поняли же, и ты вроде понял

Anima
20.05.2018
20:01:26


Timur
20.05.2018
20:01:35
Я то уже понял. Я только не понимаю, почему другие не понимают, чего я не понимаю, точнее не понимал. ?

Anima
20.05.2018
20:01:37
Вот так должен выглядеть твой редюсер

Я то уже понял. Я только не понимаю, почему другие не понимают, чего я не понимаю, точнее не понимал. ?
Смотри, единственное, о чем в этом моменте стоит задуматься - так это об обновлении стейта в редюсерах

Anima
20.05.2018
20:02:32
Чем меньшая часть стейта обновляется - тем лучше

Timur
20.05.2018
20:02:34
Вот так должен выглядеть твой редюсер
Да я эту концепцию понял. Просто меня не покидает чувство, что можно было как-то обойтись без "холостых" вызовов редьюсеров.

Max
20.05.2018
20:02:44
а в чем проблема то?

Anima
20.05.2018
20:03:19
Ничто не мешает написать тебе его самому)

Дмитрий
20.05.2018
20:03:31
Больше, из-за доки

Anima
20.05.2018
20:03:59
Больше, из-за доки
Та то не важно уже)

Дмитрий
20.05.2018
20:05:00
Фигня в том, что при любых попытках как-либо улучшить редакс, сложность задачи растёт экспоненциально

Anima
20.05.2018
20:05:14
Йеп

Поэтому лучше не пилить велосипеды и юзать готовое

Cenator
20.05.2018
20:06:12
Нет конечно, это жесть
Разве оно не так сейчас работает?

Дмитрий
20.05.2018
20:06:24
Так

Google
Дмитрий
20.05.2018
20:06:36
финальной точкой становится одна из нерешённых проблем computer science

Timur
20.05.2018
20:07:38
Люди не видят проблемы, ведь для браузера расплюнуть, вызвать 99 функций, чтобы найти сотую, ту самую, которая повлияет на стейт. Повезло вам, жить во времена мощных вычислительных машин. А пару десятков лет назад, это было бы проблемой.

Sergey
20.05.2018
20:08:00
Подскажите есть ли смысл держать фронтэнд (реакт) на одном порту, а бекэнд (нода) на другом? Испрользуется такое в продакшене? Если используется, то как избежать разрешения cors?

Max
20.05.2018
20:08:31
JWT

Oleg
20.05.2018
20:08:32
Нет конечно, это жесть
Почему жесть, больше в call stack операций, но наверняка и преимущества есть перед решениями, которые бы точечно редьюсеры вызывали

Admin
ERROR: S client not available

Max
20.05.2018
20:08:33
:)

ну и плюс настройка корсов

Sergey
20.05.2018
20:09:56
Ставишь пакетом cors и разрешаешь все - не подтйдет?
А в таком случае 304 не обработать без запроса

Max
20.05.2018
20:10:33
я как-то привык на api.site.com выносить

Anima
20.05.2018
20:10:42
Sergey
20.05.2018
20:12:22
Ставишь за общий прокси выносишь апи на site.com/api/
Прокси писать в прожект.джон? Если да, то не получается приконектить к домену... делаю по инструкции, но пишет хост инвалид)

Timur
20.05.2018
20:12:36
ты нас тупостью что ли затроллить решил?)))
Нет, я на твоей тупости спекулирую :)

Max
20.05.2018
20:12:52
Google
Дмитрий
20.05.2018
20:13:07
Проблема в том, что когда в этих функциях начнутся любые нормальные преобразования 99 функций свободно впевратятся в 9999 и постоянные холостые апдейты

Дмитрий
20.05.2018
20:13:40
Да

Alexander
20.05.2018
20:13:45
Подскажите, какой примерно размер бандла реакта+реакт.дом минифицированный?

Timur
20.05.2018
20:13:49
Да
Ну хоть кто-то

Alexander
20.05.2018
20:13:55
нет возможности загуглить

Alexander
20.05.2018
20:14:06
30кб
спасибо

Григорий
20.05.2018
20:14:41
Всем привет. Я собираюсь писать объект в стейт редакса на mouseMove(), будет ли это медленно работать?

Andrew
20.05.2018
20:14:54
да

Дмитрий
20.05.2018
20:15:00
У тебя много проектов с 1к редюсеров?
Практически во всех проектах частота создания эвентов достигает десятков в секунду

Timur
20.05.2018
20:15:08
Andrew
20.05.2018
20:16:12
Oleg
20.05.2018
20:16:14
Практически во всех проектах частота создания эвентов достигает десятков в секунду
Это звучит как то, что лучше не проводить через редакс, иначе как это вообще оптимизировать

Григорий
20.05.2018
20:16:31
Да, это самодидос настоящий, сделай debounce
Мне нужно двигать обьект по странице, максимум смогу 16 милисек сделать

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