jQuery хранит ссылки на узлы DOM во внутреннем кеше, пока я явно не вызову $.remove(). Если я использую структуру, такую как React, которая сама удаляет узлы DOM (используя собственные API-интерфейсы DOM), как очистить кеш-память jQuery?
Я разрабатываю довольно большое приложение, использующее React. Для тех, кто незнакомец, React срывает DOM и восстанавливает по мере необходимости на основе собственного "теневого" представления DOM. Эта деталь отлично работает без утечек памяти.
Вперед, мы решили использовать плагин jQuery. После того, как React выполнит цикл рендеринга и построит DOM, мы инициализируем плагин, который заставляет jQuery удерживать ссылку на соответствующие узлы DOM. Позже пользователь меняет вкладки на странице, а React удаляет эти элементы DOM. К сожалению, поскольку React не использует метод jQuery $.remove(), jQuery поддерживает ссылку на эти элементы DOM, и сборщик мусора никогда не очищает их.
Есть ли способ, которым я могу сказать jQuery, чтобы очистить его кеш, или еще лучше, чтобы не кэшировать вообще? Мне бы очень хотелось, чтобы я мог использовать jQuery для своих плагинов и кроссбраузерной доброты.