Как обновить элемент в хранилище redux / vuex в O (1)? - PullRequest
0 голосов
/ 26 ноября 2018

Как вы обычно обновляете элемент (хеш) в списке в магазине (redux, vuex) в O (1)?

Мне нужен порядок элементов, это важно (я могу добавить/ удалить элементы из списка).Я буду обновлять элементы каждую миллисекунду, поэтому будет сделано много обновлений.

У меня такой вопрос: очень плохо сохранять индекс элемента как свойство элемента?Или, если список содержит 500-1000 элементов, можно использовать, например, .find по идентификатору?

1 Ответ

0 голосов
/ 26 ноября 2018

Нормализовать форму вашего магазина с двумя свойствами

  • Карта идентификатора для объекта
  • Список идентификаторов в требуемом порядке.

    { byId : { "post1" : { id : "post1", author : "user1", body : "......", comments : ["comment1", "comment2"] }, "post2" : { id : "post2", author : "user2", body : "......", comments : ["comment3", "comment4", "comment5"] } }, allIds : ["post1", "post2"] }

С помощью этой структуры вы можете обновить конкретную сущность со сложностью O (1), а также извлечь сущности в порядке вставки, выполнив итерации allIds.

* 1016.* Более подробную информацию можно найти здесь
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...