mirror of
https://github.com/penpot/penpot.git
synced 2026-08-01 02:46:20 +00:00
♻️ Migrate perf/profiler to modern component syntax (#9429)
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
This commit is contained in:
parent
ede1cd86f4
commit
01ac1529e1
@ -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]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user