我确实一直在为cljsjs
库而苦苦挣扎,并且我可能花了整整2天的时间来玩react-bootstrap
互操作以及clojurescript中的各种material
库。
基本上,我只希望能够将UI组件添加到ClojureScript项目中。如果您可以推荐比cljsjs/react-mdl
更好的东西,我会喜欢的。如果您知道如何解决当前的错误,我也很乐意!
我目前有:
(ns project.views
(:require [cljsjs.react-mdl]))
(def Button (aget js/ReactMDL "Button"))
我得到错误:
ReactMDL is not defined
在javascript控制台中。
我只想在屏幕上显示一个
react-mdl
按钮。我正在使用此包装器:
https://github.com/cljsjs/packages/tree/master/react-mdl
对于此库:
https://github.com/tleunen/react-mdl
这些关于cljsjs的互操作指令:https://github.com/cljsjs/packages/wiki/Using-Packages
如果重要的话,我也使用clojure的reagent和reframe。老实说,我只是想让一些项目使用Clojure和相关的库构建,如果您可以建议我使用其他堆栈,请这样做!
我只是在忽略一些简单的事情吗?
最佳答案
我会回答让按钮按一下。
我没有使用任何cljs库。我只是使用提供的css
和js
。它们需要在您的标记中,以及指向Material Design图标库的链接。
这是Reagent中的示例:
[:input {:type "submit"
:className "mdl-button mdl-js-button mdl-button--fab mdl-js-ripple-effect mdl-button--colored"
:value "ok"}]
而在Om Next中:
(defui MDSubmitButton
Object
(render [this]
(dom/button (clj->js {:className "mdl-button mdl-js-button mdl-button--fab mdl-js-ripple-effect mdl-button--colored"})
(dom/i (clj->js {:className "material-icons"}) "add"))))
(def md-submit-button (om/factory MDSubmitButton {:keyfn :id}))
我对这一切还是很陌生的,但是我的首选是只使用
css
,将Javascript最小化,然后在项目使用的任何React包装器中手动构建组件。