мутаций стора?
Нет это просто мемоизированные геттеры из стейта
Реселект просто оптимизирует время перерасчета стейта за счёт месомзации
хм, неужели тогда всякий раз, когда я хочу как-то преобразовать данные, полученные из стора, мне нужно использовать Object.assign и функцию получения глубокой копии? такое входит в best practice?
https://redux.js.org/recipes/structuring-reducers/immutable-update-patterns
оо, спасибо, как раз то что я искал
ты уже который раз спрашиваешь практически одно и тоже, почитал бы уже чтоли чтонибудь про иммутабельность
если речь идет об экшнах, то понятно. а что если я хочу их преобразовать где-то локально, не меняя стор, разве есть другой способ кроме глубокой копии? просто интересно, какие еще варианты
Я не понимаю про что ты говоришь, да в селекторах конечно мутировать стейт нельзя, да и не припомню ситуации когда это удобно. Обычно делаешь всякие filter map sort
например, если есть адреса в виде { [parentId]: arrayOfChildrens, ... }, а мне понадобилось составить дерево, где чилдрены будут под ключом subRows в объекте с id = child.parentId. и реализовал я это с помощью глубокой копии, в соответствующем компоненте. как это слелать лучше? вроде как можно еще в редюсере сразу в нужном виде возвращать, но что если в одном компоненте мне нужен плоский список адресов, а в другом вложенный
Выносишь логику преобразования в отдельную функцию и используешь ее в селекторе. Логики преобразования в компоненте не должно быть
Да я так выебнулся
Обсуждают сегодня