Я работаю над проектом, в котором мы в настоящее время используем Redux для управления состоянием в нашем одностраничном приложении на основе React, и мы столкнулись с проблемой, касающейся того, когда и как очищать неиспользуемые данные из наших хранилищ (технически подсостояние в глобальном магазине Redux).
Например, у нас есть "магазин" календаря, который выглядит
calendar = {
"2015-11-06": {
// Loads of data
},
... // More dates
}
В основном мы заботимся только об одной дате в данный момент времени, но бывают случаи, когда существуют разные компоненты, которым одновременно требуются разные даты календаря.
Вопрос в следующем: есть ли какая-то стратегия по "сборке мусора" магазинов?
Моя первоначальная мысль заключалась в том, что компоненты, которым нужна конкретная календарная дата, должны будут «зарезервировать» эту дату, и когда она будет размонтирована, она удалит свое резервирование. Таким образом, когда мы достигаем какого-то ограничения по размеру, мы можем просто удалить все даты, которые не зарезервированы каким-либо компонентом.
Однако это немного хлопотно, поскольку добавляет необходимость в компонентах для обработки «резервирования» при получении даты и при размонтировании компонента.
Является ли это осуществимой стратегией или есть лучшая альтернатива?