我可以使用 Javascript 版本的 React。
但是我可以用什么来赞扬?
this.props
但是我可以用什么来赞扬?
:reagent-render
回调函数?
this.props
:reagent-render
回调函数?
reagent-render
中访问component
和props
:(ns chartly.core
(:require
[reagent.ratom :as ra]
[reagent.core :as r]))
(defn data-fn [implicit-this]
;; use implicit-this as needed, which is equivalent to "this"
;; From create-class docs -
;; :component-did-mount (fn [this])
)
(defn chart-render []
(let [comp (r/current-component) ;; Reagent method
r-props (r/props comp) ;; Reagent method
js-props (.-props (clj->js comp))]
(js/console.log "PROPS" r-props) ;;-- etc...
[:div {:style {:width 100}}]))
(def data (ra/atom {})) ;;--> see more info on reagent-atom
(defn chart-component []
(r/create-class
{:component-did-mount data-fn
:display-name "chart-component"
:reagent-render chart-render}))
To use -
[chart-component]
component-did-mount
在内部更新数据属性,完成后需要手动通知React组件
进行更新。atom
实现。有关更多信息,请参见在Reagent中管理状态。atoms
和/或re-frame库
无法满足您的需求,建议重新审视。希望能帮到您。据我所见,您接受用户提供的一些Hiccup数据作为字符串,对其进行评估,并加载reagent
库,将其放入user
命名空间中,是这样吗?
首先,您构建用于评估的代码越多,理解起来就越困难。您可以使用类似以下内容的东西:
(binding [*ns* user-ns] (eval (read-string user-data)))