
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

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
там есть вариативность

Pavel
25.03.2017
12:56:05

Nikita
25.03.2017
12:56:36

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

Google

Vladimir
25.03.2017
12:57:05
В этом суть ридакса - все красиво только в todo-app без работы с сетью
В настоящем приложении все будет через жопу, даже хуже, чем без редакса

Nikita
25.03.2017
12:57:48

Dreamerinnoise
25.03.2017
12:58:04

Vladimir
25.03.2017
12:58:27

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
это ж киллер фича
редукза

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
Ща вообще вопрос. А файрить эвент отсортируй-ка из редьюсера не ок?