目前我需要使用
["react-select" :default Select]
来创建组件:
(def dropdown-standard (ra/adapt-react-class Select))
(这非常有效)
我想访问可创建组件(https://react-select.com/creatable),文档要求它为:
import Creatable, { useCreatable } from 'react-select/creatable';
我已经尝试过显而易见的事情,那就是尝试在 cljs 中复制它
["react-select/creatable" :default Creatable]
但这不会起作用,因为shadow-cljs会尝试找到不存在的npm库react-select/creatable。
我也尝试过直接通过
["react-select" :as react-select]
要求反应选择
然后拨打 react-select/SelectBase
和 react-select/Creatable
。该组件的行为不符合预期,并且存在一些错误,因此我猜测这不是正确的方法。
之前我需要
[cljsjs/react-select "2.4.4-0"]
,这让我可以直接拨打 js/Select
和 js/Select.Creatable
。但由于shadow-cljs,我无法再使用cljsjs。
我已阅读 Shadow-cljs 用户指南 (https://shadow-cljs.github.io/docs/UsersGuide.html#cljsjs) 中有关迁移 cljsjs 的部分,但它似乎只是将一些函数导出到 React 中命名空间等。尝试过但没有解决我的问题。
解决了。 阅读 Shadow-cljs 中的 npm 库部分 (https://shadow-cljs.github.io/docs/UsersGuide.html#_using_npm_packages)
通过导入使用:
["react-select" :as rsel :default Select :refer (Creatable)]
我能够在react-select库中引用Creatable