使用不同版本的React与ClojureScript React库(Reagent、Om、Rum、Quiescent)配合使用

3

我该如何在Reagent、Om、Rum、Quiescent或Brutha中使用不同版本的React?

1个回答

6

由于此问题经常被问到,因此我来进行自我回答:

首先,您需要告诉Leiningen排除cljsjs/react依赖项:

[rum "0.6.0" :exclusions [[cljsjs/react] [cljsjs/react-dom]]]

如果您有其他依赖项引入了cljsjs/react,您可以使用全局排除:

:exclusions [[cljsjs/react] [cljsjs/react-dom]]

接下来,您需要满足编译器,因为它找不到命名空间cljsjs.reactcljsjs.react.dom。为此,在源目录中创建两个包含这些命名空间的文件。例如:

- src/cljsjs/react.cljs
- src/cljsjs/react/dom.cljs

两者只需要命名空间声明,其他可以为空 (ns cljsjs.react).

现在你可以使用普通的<script>标签,在HTML文件中手动包含任何你想要的React版本。

另一种选择:

你也可以使用foreign-libs编译选项


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接