如何使devCards与重新框架一起工作?

时间:2017-09-20 19:28:37

标签: clojure clojurescript reagent re-frame

Devcards旨在为ClojureScript提供可视化的REPL体验。他们为ReagentOM提供支持。如何让devCards与re-frame一起使用?

2 个答案:

答案 0 :(得分:4)

这是重新框架和devcards的经常出现的问题。主要问题是重新框架中的全局变量(主要问题是数据库,但处理程序和订阅也可能是一个问题),这与在同一页面上呈现多个devcards的想法不相符。

一个可能的解决方案是在iframe中呈现每个devcard。每个devcard都会彼此隔离,即使它们包含在一个页面中并在视觉上呈现。它可能不是最有效的解决方案,但它可行:我在my devcards fork, under the iframe branch中实现了它。它有a couple example devcards using re-frame

即使它在clojars中以[org.clojars.nberger/devcards "0.2.3-0-iframe"]发布,但它需要一些工作来提供更友好的方式来创建iframe devcards,并且可能是一个特定于重新框架的devcard宏。也可能有一些UI粗糙的边缘要擦亮。但随意使用它。当然,欢迎提供意见和反馈。

我将在此举例说明如何使用它:

(defcard-rg re-frame-component-initialize-db
  "This is the same re-frame component, but now using 
   data-atom to initialize the db, rendered in an iframe:"
  (fn [data-atom _]
    (setup-example-1)
    (re-frame/dispatch [:initialize-db @data-atom])
    [re-frame-component-example])
  {:guest-name "John"}
  {:iframe true})

(该示例基于重新构建0.7.x但是对于较新的版本,所有内容都应该相同,因为iframe机制对使用重新框架或其他任何东西都无动于衷)

答案 1 :(得分:1)

他们说你不能在the first page

  

重新框架仍然是一项正在进行中的工作,它在几个方面都不尽如人意   方式 - 例如它不像我们用devcards那样好用