Advertisement
Guest User

Untitled

a guest
Aug 29th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (defonce mypos (reagent/atom {}))
  2.  
  3. (defn getsize [comp]
  4.    (let [ node (reagent/dom-node comp)
  5.           x (.-x (.getBoundingClientRect node))
  6.           y (.-y (.getBoundingClientRect node))]
  7.     {x y}))
  8.  
  9. (defn my_component []
  10.   (let [state (reagent/atom {})] ;; you can include state
  11.     (reagent/create-class
  12.       {:component-did-mount
  13.          (fn [comp]
  14.            (swap! mypos #(getsize comp)))
  15.  
  16.        :display-name "complex-component"
  17.  
  18.        ;; note the keyword for this method
  19.        :reagent-render
  20.         (fn [] [:div [:b "Initial position: " @mypos]])})))
  21.  
  22. (defn page []
  23.   [:div [my_component]])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement