Lazy load page/block references and embeds

This commit is contained in:
Tienson Qin
2024-01-29 18:23:55 +08:00
parent eba0fe9545
commit 21c1f4f54c
8 changed files with 208 additions and 161 deletions

View File

@@ -155,3 +155,12 @@
#(js/document.removeEventListener event listener capture?)))
[ref])
set-ref))
(defonce *key->atom (atom {}))
(defn cached-derived-atom
"Make sure to return the same atom if `key` is the same."
[ref key f]
(or (get @*key->atom key)
(let [a (rum/derived-atom [ref] key f)]
(swap! *key->atom assoc key a)
a)))