mirror of
https://github.com/logseq/logseq.git
synced 2026-05-01 01:16:27 +00:00
fix: lazy loading shakes (#9139)
* fix: lazy loading shakes Also, enable lazy loading on mobile * enhance(perf): lazy load deadlines and scheduled * enhance(perf): clean up queries when components are invisible For queries including both ::ref and ::block.
This commit is contained in:
@@ -51,8 +51,12 @@
|
||||
|
||||
(defonce query-state (atom {}))
|
||||
|
||||
;; Current dynamic component
|
||||
(def ^:dynamic *query-component*)
|
||||
|
||||
;; Which reactive queries are triggered by the current component
|
||||
(def ^:dynamic *reactive-queries*)
|
||||
|
||||
;; component -> query-key
|
||||
(defonce query-components (atom {}))
|
||||
|
||||
@@ -156,11 +160,14 @@
|
||||
transform-fn identity}} query & inputs]
|
||||
{:pre [(s/valid? ::react-query-keys k)]}
|
||||
(let [kv? (and (vector? k) (= :kv (first k)))
|
||||
origin-key k
|
||||
k (vec (cons repo k))]
|
||||
(when-let [db (conn/get-db repo)]
|
||||
(let [result-atom (get-query-cached-result k)]
|
||||
(when-let [component *query-component*]
|
||||
(add-query-component! k component))
|
||||
(when-let [queries *reactive-queries*]
|
||||
(swap! queries conj origin-key))
|
||||
(if (and use-cache? result-atom)
|
||||
result-atom
|
||||
(let [{:keys [result time]} (util/with-time
|
||||
|
||||
Reference in New Issue
Block a user