This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-03-03
Channels
- # beginners (37)
- # boot (5)
- # cider (3)
- # clara (19)
- # cljs-dev (188)
- # cljsrn (1)
- # clojure (104)
- # clojure-russia (5)
- # clojure-spec (1)
- # clojure-uk (3)
- # clojurescript (41)
- # core-async (1)
- # data-science (4)
- # datascript (3)
- # figwheel (7)
- # fulcro (14)
- # garden (4)
- # graphql (3)
- # jobs-discuss (2)
- # leiningen (9)
- # london-clojurians (1)
- # off-topic (5)
- # onyx (2)
- # portkey (6)
- # re-frame (9)
- # reagent (5)
- # shadow-cljs (2)
- # specter (1)
- # uncomplicate (2)
Друзья, а кто-нить имел дело в проде с https://github.com/juxt/yada? С виду сделано как надо, особенно подкупает концепция изоляции через ресурсы и максимальная декларативность описания, опять-таки swagger из коробки. Если есть что сказать - поделитесь, пожалуйста.
Приветствую. Как вы выделяете активные ссылки в своих re-frame приложениях? Есть табы, которые меняют урл. Актывный таб нужно выделять. Я конечно моге написать, что-то типа такого
(defn active-link? [url]
(clojure.string/starts-with?
js/window.location.pathname
url))
но не уверен насколько это норм@y.khmelevskii в принципе любая библиотека для роутинга, например secretary
, может вернуть объект, представляющий текущий адрес, что-то навроде {:handler :single-post-page, :post-id 42}
. Данный объект нужно сохранить в db
и затем сравнить с тем, чему соответствует данная ссылка
@andrewboltachev спасибо, понял
Привет! А кто-нибудь видел lazy-let?
(lazy-let [x (do (prn :x) true)
y (do (prn :y) true)]
(or x y))
И :y
не должен печататься.
Так то можно попробовать сделать макрос и внутри все зворачивать в delay, но это будет на порядок медленее.
Может есть какой-то способ это все скомпилировать в макросе?
Может быть это называется не lazy-let
, а как-то иначе?
Может быть есть вариант с более слабым условием. Т.е. вычисление происходит в момент первого использования.
(let-reorder [x (do (prn :x) :x)
y (do (prn :y) :y)]
(prn 1)
(prn x)
(prn 2)
(prn y))
(do
(prn 1)
(let [x (do (prn :x) :x)]
(prn x)
(prn 2)
(let [y (do (prn :y) :y)]
(prn y))))