This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-09-11
Channels
- # bangalore-clj (1)
- # beginners (24)
- # boot (134)
- # boulder-clojurians (2)
- # cider (3)
- # cljs-dev (2)
- # cljsjs (44)
- # clojars (9)
- # clojure (60)
- # clojure-greece (2)
- # clojure-quebec (1)
- # clojure-russia (44)
- # clojure-spec (15)
- # clojure-uk (1)
- # clojurescript (37)
- # core-matrix (1)
- # datomic (7)
- # emacs (1)
- # hoplon (154)
- # liberator (3)
- # mount (2)
- # om (20)
- # onyx (2)
- # pedestal (3)
- # planck (12)
- # re-frame (26)
- # reagent (32)
- # uncomplicate (4)
гайс, а кто-то писал декораторы для реакт компонентов на cljs?
(defn comp []
[:div "im test comp"])
(defn decorate [comp]
;; access comp props and state here?
comp)
;; markup:
...
[(decorate comp]
…
не совсем понимаю как внутри decorate
работать с comp
начинаю понимать, что вопрос глупый, потому что в cljs всё работает вообще не так 😖
в долгосрочной перспективе — хочу сделать нормальный drag-and-drop
и сейчас препарирую react-dnd
там dragSource и dropTarget это декораторы которые оборачивают компоненты и добавляют поведениеи тд
вот пытаюсь понять как это может выглядеть в cljs
@olegakbarov а чем ты работаешь с реактом?
ну пока с реагентом
пока вообще примеряюсь, благо обертки (reagent/rum) легкие достаточно
файлоаплоад?
да, draggable-button я видал, но спасибо
ммм.. почему svg?
я вот эту штуку подхачивал: https://www.graphdracula.net/
"я его для свг использовал", может там (в моей копипасте) есть нюансы из-за этого, я не помню уже
угу, тут не используется html5 dnd-api
просто по mousemove всё делается
еще такой вопрос — правильно понимаю что в контексте core.async
во фронтенде — это нормальная практика валить в канал много ивентов (типо mousemove)
мне когда-то @asolovyov посоветовал валить в канал не сырые ивенты, а "обработанные", а то, особенно в случае реакта, ивенты синтетические и мутабельные: ты его кладёшь в канал, а на выходе - пустышка
так что типа, если у тебя канал кликов на 1 кнопку, просто на ивент туда true
пиши, или 1
, что бы передать факт клика. либо из ивента экстра что-то доставай сразу и перепаковывай до канала
спасибо, а что значит ивенты мутабельные? чет не соображу
и в догонку вопрос — когда google closure используешь ивенты же гугловые, так? есть ли какие-то подводные камни по части использования closure и реакта?
ммм.. короче, насколько я помню, объект каждого ивента, который приходит в твои хендлеры, на самом деле один и тот же объект
@olegakbarov можешь попробовать в дев-консольке хрома залогать ивент (так чтоб можно было стрелочки там пораскрывать, а не принтом обычным), посмотреть что у него там внутри, и другой потом залогать, а посмотреть снова в первый, не поменялось ли чего
да, надо поэкспериментировать, спасибо