将不同的 React 版本与 clojurescript 反应库一起使用(试剂、om、rum、quiescent)

Use a different React version with clojurescript react libraries (reagent,om,rum,quiescent)

如何将不同的 React 版本与 Reagent、Om、Rum、Quiescent 或 Brutha 一起使用?

自我回答,因为这个问题经常被问到:

首先,您必须告诉 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 compiler option