Size: a a a

Clojure — русскоговорящее сообщество

2020 April 23

PP

Pavel Peganov in Clojure — русскоговорящее сообщество
А, окей.
источник
2020 April 24

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
А кто-нибудь разбирался как reagent работает?
Он же динамически hiccup преобразует, т.е. без макросов? А компонент обычная фукнция, возвращающая вектор.
(defn component [] [:div "foo"]) как вот этот [:div "foo"] преобразуется в React.createElement?
На первый взгляд по исходникам не очень понятно.
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
А кто-нибудь разбирался как reagent работает?
Он же динамически hiccup преобразует, т.е. без макросов? А компонент обычная фукнция, возвращающая вектор.
(defn component [] [:div "foo"]) как вот этот [:div "foo"] преобразуется в React.createElement?
На первый взгляд по исходникам не очень понятно.
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
да, я видел
я не понимаю как оно используется
т.е. где-то должен быть вызов reagent компонента, чтобы получить hiccup
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
ну просто из render вызывается
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Andrew Rudenko
ну просто из render вызывается
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
ну так это тоже самое что тут, только "проще"
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Andrew Rudenko
ну так это тоже самое что тут, только "проще"
Т.е. реагент динамически переводит hicсup в createElement, т.к. нельзя залезть в созданную фукнцию.
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
а с моим вариантом есть какие-то явные проблемы?
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
а чем твой вариант то принципиально отличается я не понимаю?
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Andrew Rudenko
а чем твой вариант то принципиально отличается я не понимаю?
тем, что на коленке собран, концептуально, видимо ни чем
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
точно так же динамически формируешь hiccup-like структуру, потом динамически ее в createElement переводишь
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
тем, что на коленке собран, концептуально, видимо ни чем
ок )
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
если вопрос: "если ли смысл в компайл тайме переводить в createElement" вызовы, где это возможно, то наверно есть, но вряд ли его много
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
в самом hiccup все к конкатенации строк сводилось, и это действительно было БОЛЬШОЙ выигрыш, а тут в любом случае вызовы ЖС
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Еще отличие в том, что мои компоненты - это реакт компоненты, т.е. нет деления на реагент компоненты и нативные.
И это не hiccup, тут пропсы пробрасываются через метаданыые
^{:className "foo"} [:div "..."]
чтобы как раз разделить js пропсы и не js,
все равно нужно key пробрасывать и прочее
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
спасибо
источник

ИС

Ильшат Султанов in Clojure — русскоговорящее сообщество
Вышел новый релиз ClojureScript’a. Эра экстернов прошла?) Как думаете?))) https://clojurescript.org/guides/webpack
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Ильшат Султанов
Вышел новый релиз ClojureScript’a. Эра экстернов прошла?) Как думаете?))) https://clojurescript.org/guides/webpack
Так давно уже был infer externs
источник