From b5dac770d358cca8475f0ce2831d4231ab40e94c Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Thu, 13 Jul 2023 15:39:18 +0200 Subject: [PATCH] :zap: Improve performance of button-link component --- .../app/main/ui/components/button_link.cljs | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/frontend/src/app/main/ui/components/button_link.cljs b/frontend/src/app/main/ui/components/button_link.cljs index a600e7524..57a09eccf 100644 --- a/frontend/src/app/main/ui/components/button_link.cljs +++ b/frontend/src/app/main/ui/components/button_link.cljs @@ -9,13 +9,18 @@ [app.util.keyboard :as kbd] [rumext.v2 :as mf])) -(mf/defc button-link [{:keys [action icon name klass]}] - [:a.btn-primary.btn-large.button-link - {:class klass - :tab-index "0" - :on-click action - :on-key-down (fn [event] - (when (kbd/enter? event) - (action event)))} - [:span.logo icon] - name]) +(mf/defc button-link + {::mf/wrap-props false} + [{:keys [action icon name klass]}] + (let [on-key-down (mf/use-fn + (mf/deps action) + (fn [event] + (when (kbd/enter? event) + (action event))))] + [:a.btn-primary.btn-large.button-link + {:class klass + :tab-index "0" + :on-click action + :on-key-down on-key-down} + [:span.logo icon] + name]))