@react_js

Страница 1126 из 5115
Pavel
25.03.2017
12:52:45
Ясно. Видимо это особенность русских сообществ, где все себя считают самыми умными и вместо помощи друг другу пытаюсся загнобить друг друга. Рекомендую, если вы хотите реально получить ответ по вопросам React и Redux обращаться в англоязычное сообщество reactiflux. Здесь просто чатик

Ҫѐҏӗѫӑ
25.03.2017
12:53:07
а когда убираешь её, появляется потребность в выборках, как в SQL грубо говоря

Nikita
25.03.2017
12:53:12
лол, я задал конкретный вопрос, ты получается сам по себе слился?)

Vladimir
25.03.2017
12:53:12
Ты приходишь к тому, что использовать единый иммутабельный стейт не всегда хоршо

Google
Vladimir
25.03.2017
12:53:27
Но Абрамов говорит, что ты не прав

Pavel
25.03.2017
12:53:39
лол, я задал конкретный вопрос, ты получается сам по себе слился?)
Я готов пообщаться с вами в личке и решить вашу задачку - не вопрос

Nikita
25.03.2017
12:53:55
Ты приходишь к тому, что использовать единый иммутабельный стейт не всегда хоршо
а какая разница, 1 или несколько? для подготовки части стейта мне нужен весь остальной стейт, грубо говоря

Vladimir
25.03.2017
12:54:08
Ну он у тебя и есть в редьюсере

Nikita
25.03.2017
12:55:06
неа. у меня кучка мелких редьюсеров, которые обрабатывают кусочки стейта. так вот в таком мелком редьюсере мне нужен доступ до глобального стейта, потому что без него я не могу посчитать то, что мне нужно

а в селекторе это делать не эффективно

Vladimir
25.03.2017
12:55:37
Ну это твой фейл

Ҫѐҏӗѫӑ
25.03.2017
12:55:52
но тебе поможет флоу

Vladimir
25.03.2017
12:55:53
Тебе придется перестуктурировать редьюсер полностью

Ҫѐҏӗѫӑ
25.03.2017
12:55:58
там есть вариативность

Nikita
25.03.2017
12:56:36
Вы можете получить доступ к state из actionCreator при использовании redux-thunk
отлично. я выше об этом и написал. и тащить в экшн кусок нужного стейта? выглядит как через жопу

Ҫѐҏӗѫӑ
25.03.2017
12:56:58
а мог бы просто ангуляр взять

Google
Vladimir
25.03.2017
12:57:05
В этом суть ридакса - все красиво только в todo-app без работы с сетью

В настоящем приложении все будет через жопу, даже хуже, чем без редакса

Nikita
25.03.2017
12:57:48
Тебе придется перестуктурировать редьюсер полностью
ты вот глянь на телеграм. у тебя есть список чатов, там выводятся последние сообщения. ты же историю сообщений и диалоги будешь отдельно хранить?

Nikita
25.03.2017
12:58:28
до этого конкретного момента с редаксом все было более-менее ок, так-то

Vladimir
25.03.2017
12:58:32
Где нибудь в sqlite

Ҫѐҏӗѫӑ
25.03.2017
12:58:44
???

Nikita
25.03.2017
12:58:55
лол))

Vladimir
25.03.2017
12:59:00
Что скорее всего и делают все чат-приложения вообще

Nikita
25.03.2017
13:00:57
угу и ок. вот тебе пришло сообщение, тебе же нужно отсортировать этот список. и тут приходится тянуть за собой пол-стейта в маленький редьюсер

Vladimir
25.03.2017
13:01:26
Зачем сортировать?

А, список чатов

Ну да

Nikita
25.03.2017
13:01:41
бизнес-логика)

Vladimir
25.03.2017
13:01:53
Только тебе не нужно сортировать

Ты и так знаешь, что он отсортирован

Тебе нужно просто поднять наверх одну запись

Google
Nikita
25.03.2017
13:02:49
не, так стремно делать

сортировка и так это за меня в 1 проход сделает

Vladimir
25.03.2017
13:03:01
Чего стремного то?

Ҫѐҏӗѫӑ
25.03.2017
13:03:03
тебе нужен нормалайзер, хуяйзер, саги

вот это все

Nikita
25.03.2017
13:03:11
потому что еще есть удаление сообщений

есть пины

Vladimir
25.03.2017
13:03:20
И?

Ҫѐҏӗѫӑ
25.03.2017
13:03:23
и побольше

Vladimir
25.03.2017
13:03:56
Ну если ты хочешь при удалении вернуть обратно, то да

Ҫѐҏӗѫӑ
25.03.2017
13:04:05
ваще если честно, то я не уверен, что надо чото сортировать вообще в редаксе

Nikita
25.03.2017
13:04:05
@chicoxyzzy закинулся сагами и проблем нет?)

Vladimir
25.03.2017
13:04:11
Но с точки зрения бизнес логики это не супер полезно

Ҫѐҏӗѫӑ
25.03.2017
13:04:24
@chicoxyzzy закинулся сагами и проблем нет?)
и тайм тревелинг обязательно

это ж киллер фича

редукза

Nikita
25.03.2017
13:05:16
Но с точки зрения бизнес логики это не супер полезно
это уже бизнесу решать) телеграм именно так и делает, можно сортировать по последнему апдейту чата, если удаление сообщения - тоже апдейт, оно так и будет работать.

и тайм тревелинг обязательно
это сайд-эффект от саг же)

Vladimir
25.03.2017
13:05:44
Ну так или иначе, тебе не нужна сортировка

В момент апдейта нужно просто найти правильное новое место в списке

Google
Ҫѐҏӗѫӑ
25.03.2017
13:06:01
надо его обязательно мемоизировать. нужен редакс-реакт-сага-мемоайзер

Nikita
25.03.2017
13:06:01
нужна

поднял чатик вверх - это и есть сортировка)

просто аля-оптимизированная (на самом деле нет)

Vladimir
25.03.2017
13:06:34
Я имею в виду, тебе не нужна полная сортировка стандартным алгоритмом

Ты потратишь минимум лишний log n на нее в среднем

Nikita
25.03.2017
13:07:03
я понимаю о чем ты

но в среднем проще сделать именно сортировку

Ҫѐҏӗѫӑ
25.03.2017
13:08:03
ну для сортировки там надо массив айдишников припиненных, а остальное понятно как вставлять, не?

Admin
ERROR: S client not available

Ҫѐҏӗѫӑ
25.03.2017
13:08:36
даже не массив, а Set

Vladimir
25.03.2017
13:08:38
В общем, абрамов говорит что данные в сторах должны быть в нормализованном виде

Ҫѐҏӗѫӑ
25.03.2017
13:08:41
чтобы уж на всякий

Vladimir
25.03.2017
13:08:47
И никакой сортировки там быть не может

Если ты решил не слущать Абрамова, то лучше сразу отказаться от реакта

Ҫѐҏӗѫӑ
25.03.2017
13:09:08
нужен реакт-редугз-стор-нормалайзер-мемоайзер

Vladimir
25.03.2017
13:09:11
Всмысле от редакса

Nikita
25.03.2017
13:09:22
там все понятно, как сделать. но такая оптимизация может идти только после того, как бизнес-логика устаканилась. иначе вместо того, чтобы поправить пару символов в функции сравнения, ты будешь пару часов вспоминать, как же у нас чатики поднимаются сейчас

Всмысле от редакса
а что вместо?)

Vladimir
25.03.2017
13:09:52
Ничего

Google
Nikita
25.03.2017
13:09:54
Vladimir
25.03.2017
13:09:55
Свой код

Который делает все что нужно

Nikita
25.03.2017
13:10:19
мм, я прекрасно понимаю, что редакс и зачем делает, чего бы его не взять?)

синдром - это написал не я?

Vladimir
25.03.2017
13:10:26
Написание своего редакса занимает 15 минут

Nikita
25.03.2017
13:10:40
да, понятно, но редакс меня почти устраивает

Vladimir
25.03.2017
13:10:47
Из этой точки можно двигаться куда нужно

Тогда нужно идти читать Абрамова по теме

Nikita
25.03.2017
13:11:11
ты свой выложить не хочешь?)

Vladimir
25.03.2017
13:11:19
Уже выкладывал

В одну строчку

Nikita
25.03.2017
13:12:02
Array.prototype.reduce.call ?)

Vladimir
25.03.2017
13:12:06
https://github.com/vkurchatkin/sound-noredux/blob/master/scripts/noredux.js

Nikita
25.03.2017
13:12:40
В одну строчку
import { setContext, getContext } from 'react-simple-context'; ага)

Vladimir
25.03.2017
13:12:52
Ну неблольшой хэлпер

Ҫѐҏӗѫӑ
25.03.2017
13:12:54
это даже круче чем когда мемоизированные селекторы перестают работать когда есть несколько инстансов использующих их компонентов

огонь

Nikita
25.03.2017
13:21:42
а вот еще интересный вопрос, если мы хотим восстанавливать стейт при перезагрузке, что делать в случаях фейла стораджа? ну или что вы делаете?

Alex
25.03.2017
13:24:34
Ща вообще вопрос. А файрить эвент отсортируй-ка из редьюсера не ок?

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