我想将此React.js组件用作ClojureScript应用程序中的外部Reagent组件:
https://github.com/felixrieseberg/React-Spreadsheet-Component
但是该组件在存储库中不可用:
如果目录中有React.js组件,那么将它与Reagent一起使用就像在下面的示例中一样简单。
(ns demo.views
(:require [reagent.core :as reagent]
[cljsjs.reactable]])
(defn example []
[:div
[:> Reactable.Table
{:data (clj->js [
{:name "Foo" :section 51}
{:name "Bar" :section 51}
])}
]
]
)
我想知道我将如何处理React Spreadsheet组件,以便我可以以类似的简单方式使用它。如何准备React.js组件以在ClojureScript中用作外部Reagent组件?请提供明确的配方类型的描述。
注意:此问题How to use a ReactJS Component with Clojurescipt/Reagent看起来很相似,但没有回答我的问题。
答案 0 :(得分:3)
归结为你想如何做JavaScript互操作...你有3个选择:
我鼓励你试试(3);这并不困难,只需按照CLJSJS https://github.com/cljsjs/packages/wiki/Creating-Packages
上的步骤操作即可答案 1 :(得分:0)
使用ClojureScript's compiler options在构建中包含外部JS,然后使用试剂adapt-react-class
在试剂视图中使用该组件。尽量不要依赖像CLJSJS这样的项目。
自己做这件事会让你控制你的项目。
(def reactable-table (r/adapt-react-class js/Reactable.Table))
(defn example []
[:div
[reactable-table
{:data (clj->js [
{:name "Foo" :section 51}
{:name "Bar" :section 51}])}]])
中的
bundle exec rake neo4j:stop
bundle exec rake neo4j:start
在视图中
.factory("Items", function($firebaseArray) {
var itemsRef = new Firebase("https://YOUR-FIREBASE/");
return $firebaseArray(itemsRef);
})
但请注意,此组件捆绑了大量依赖项(jQuery)。你可能更喜欢用clojurescript /试剂制作这样的组件。