♻️ 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]))
;; 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:
;;
;; [:& perf/profiler {:label "viewport"}
;; [:> perf/profiler* {:label "viewport"}
;; [:section
;; [:& some-component]]]
;;
@ -90,17 +90,12 @@
(conj! td adur)
(log phase td))))
(mf/defc profiler
{::mf/wrap-props false}
[props]
(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/defc profiler*
[{:keys [children label enabled] :or {enabled true}}]
(let [on-render (mf/use-memo
(mf/deps label)
#(on-render-factory label))]
(if enabled?
(if enabled
[:> react/Profiler #js {:id label
:onRender on-render}
children]