Sergey
и всё
Anonymous
не нужно никаких регулярок достаточно на наличе @ проверить
Дима
Вакансии без вилки запрещены. В js jobs — тоже ;)
Rafael 🌵
как вы в хранилище храните нормализованные данные?
Rafael 🌵
т.е прям entities + в модулях ссылки на нужные поля из нее или как?
Дима
Каждая сущность имеет свой id, этого достаточно, чтобы делать на них уникальные ссылки
Rafael 🌵
https://repl.it/J6mp/0 типо такого?
Дима
Нормализованное поле — type Field<T> = { ids: string[], values: { [id: string]: T } }
Дима
https://repl.it/J6mp/0 типо такого?
Нет, немного не так
Дима
Каждая сущность сразу нормализована по типу выше
Rafael 🌵
вот, при такой структуре: https://repl.it/J6mp/1
Rafael 🌵
ну ты же хранилище все равно как-то на модули разбиваешь, чтобы напрмиер сделать свои мутации и действия над модулями
Rafael 🌵
вот в этих мутациях и действиях ты на какие данные ссылаешься?
Дима
total не нужен
Дима
Я же говорю, на id
Дима
Нормализованное поле — type Field<T> = { ids: string[], values: { [id: string]: T } }
Rafael 🌵
total не нужен
это пример каких-то еще данных, которые есть в модуле, но которые не нужно нормаизовывать, скажем так
Дима
Нормализованное поле — type Field<T> = { ids: string[], values: { [id: string]: T } }
У тебя ВСЕ нормализованные поля должны быть в таком формате. Всё что не нормализовано можно подключать уже как угодно, это не принципиально)
Дима
Внезапно, id сущностей
Rafael 🌵
именование поля из entities?
Дима
а й д и с у щ н о с т е й
Дима
Почитай про нормализацию в редаксе
Дима
Я не могу это на пальцах объяснять)
Sergey
именование поля из entities?
список айди каждого entity [1, 2, 8, 22, 123, 4321]
Sergey
которые есть в объекте по этому списку
Sergey
{ 1: {}, 2: {}, 8: {}, }
Sergey
@Fl0pZz understand?
Rafael 🌵
ну вроде да, что-то понимаю
Rafael 🌵
я так понимаю это то, что лежит в result после вызова normalize?
Rafael 🌵
https://repl.it/JY00/20
Rafael 🌵
список айди каждого entity [1, 2, 8, 22, 123, 4321]
и его мы на каждой мутации ручками обновляем, например через Object.keys(entity)?
Sergey
зачем тебе keys?
Дима
http://redux.js.org/docs/recipes/reducers/NormalizingStateShape.html
Sergey
у тебя уже есть ключи
Дима
http://redux.js.org/docs/recipes/reducers/NormalizingStateShape.html
Как ни странно, эта статья совсем не про redux
Rafael 🌵
сейчас статью прочитаю, потом дозадам оставшиеся вопросы
Rafael 🌵
у тебя уже есть ключи
Вот, остался вопрос, как мы получаем ключи, после вызова normalize()?
CherryTea
вопрос по дэбагу: как выловить момент в стеке вызовов, когда меняется значение переменной? Можно как то дебагер вызывать проверяя выражение после каждого вызова из стека?
CherryTea
думаю вы с таким сталкивались console.log(foo) // 1 setTimeout(console.log(foo)) // 2
CherryTea
используй getter и setter
а можно пример?
Vyacheslav
Object.prototype.__defineSetter__
CherryTea
гениально
Rafael 🌵
а можно пример?
https://repl.it/J6xQ/0
CherryTea
https://repl.it/J6xQ/0
да, да, спасибо!
temp0
как сделать так, чтобы не активный thumb был затонированным?
Group Butler [beta]
temp0
какая разница где это обсуждается?
temp0
вам западло тут помочь?
Sergey
это элементарный вопрос
temp0
или вам платят за отсылку в другой чат?
Sergey
зачем нам тратить на это время
Sergey
Да
Кто
Sergey
Кому написать
Sergey
Я буду делать это каждый день
Igor
Нужны реферальные ссылки на другие чаты
Igor
Нужны реферальные ссылки на другие чаты
ага, которые создали мы сами
Rafael 🌵
Челы, чтобы денормализовать данный одного пользователя, надо делать что-то подобное?: denormalize(state.byId[3], userSchema, getters.entities)?
Rafael 🌵
есть такая схема, данные нормализуются и кладутся в хранилище
Anonymous
очеееень нужна критика / совет
Rafael 🌵
так, чет там за херня
Winni
Сразу убирай отзывы
Winni
В проектах навигацию выключай
Winni
Контакты крупнее, у тебя же задача чтобы тебя нашли
Rafael 🌵
так, во, я почти сделал
Rafael 🌵
Rafael 🌵
но чет мне не нравится такое
Rafael 🌵
кем нормализуются?
получаю данные с сервера, их нормализую и пихаю в хранилище
Rafael 🌵
вот так нормализую
Rafael 🌵
Как это сделать не зашкварно?
Sergey
commit?
Rafael 🌵
нет, я про геттер для получения данных пользователя