mirror of
https://github.com/tonsky/rum.git
synced 2025-08-03 18:13:19 +08:00
add support for useLayoutEffect (#232)
This commit is contained in:
@ -383,6 +383,10 @@
|
||||
([setup-fn])
|
||||
([setup-fn deps]))
|
||||
|
||||
(defn use-layout-effect!
|
||||
([setup-fn])
|
||||
([setup-fn deps]))
|
||||
|
||||
(defn use-callback
|
||||
([callback] callback)
|
||||
([callback deps] callback))
|
||||
|
@ -541,6 +541,21 @@
|
||||
(->> (if (array? deps) deps (into-array deps))
|
||||
(.useEffect js/React #(or (setup-fn) js/undefined)))))
|
||||
|
||||
(defn use-layout-effect!
|
||||
"(rum/use-layout-effect!
|
||||
(fn []
|
||||
(.addEventListener js/window \"load\" handler)
|
||||
#(.removeEventListener js/window \"load\" handler))
|
||||
[]) ;; empty deps collection instructs React to run setup-fn only once on initial render
|
||||
;; and cleanup-fn only once before unmounting
|
||||
|
||||
Read more at https://reactjs.org/docs/hooks-effect.html"
|
||||
([setup-fn]
|
||||
(.useLayoutEffect js/React #(or (setup-fn) js/undefined)))
|
||||
([setup-fn deps]
|
||||
(->> (if (array? deps) deps (into-array deps))
|
||||
(.useLayoutEffect js/React #(or (setup-fn) js/undefined)))))
|
||||
|
||||
(defn use-callback
|
||||
"Takes callback function and returns memoized variant, memoization is done based on provided deps collection.
|
||||
|
||||
|
Reference in New Issue
Block a user