♻️ Migrate perf/profiler to modern component syntax (#9429)

Co-authored-by: Andrey Antukh <niwi@niwi.nz>
This commit is contained in:
Dexterity 2026-05-29 03:41:21 -04:00 committed by GitHub
parent ede1cd86f4
commit 01ac1529e1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -15,11 +15,11 @@
[rumext.v2 :as mf])) [rumext.v2 :as mf]))
;; For use it, just wrap the component you want to profile with ;; For use it, just wrap the component you want to profile with
;; `perf/profiler` component and pass a label for debug purpose. ;; `perf/profiler*` component and pass a label for debug purpose.
;; ;;
;; Example: ;; Example:
;; ;;
;; [:& perf/profiler {:label "viewport"} ;; [:> perf/profiler* {:label "viewport"}
;; [:section ;; [:section
;; [:& some-component]]] ;; [:& some-component]]]
;; ;;
@ -90,17 +90,12 @@
(conj! td adur) (conj! td adur)
(log phase td)))) (log phase td))))
(mf/defc profiler (mf/defc profiler*
{::mf/wrap-props false} [{:keys [children label enabled] :or {enabled true}}]
[props] (let [on-render (mf/use-memo
(let [children (unchecked-get props "children")
label (unchecked-get props "label")
enabled? (unchecked-get props "enabled")
enabled? (if (nil? enabled?) true enabled?)
on-render (mf/use-memo
(mf/deps label) (mf/deps label)
#(on-render-factory label))] #(on-render-factory label))]
(if enabled? (if enabled
[:> react/Profiler #js {:id label [:> react/Profiler #js {:id label
:onRender on-render} :onRender on-render}
children] children]