【发布时间】:2022-05-12 13:50:05
【问题描述】:
我正在尝试在 re-frame 项目中使用 react-bootstrap。我已经安装了 react-bootstrap
npm install react-bootstrap
并使用如下组件:
(:require
;; ...
["react-bootstrap/Button" :as Button]
;; ...
(defn main-panel []
[:div
[:> Button "Hit me"]
]])
一切正常,直到我尝试进行下拉,更准确地说,直到我尝试使用DropdownMenu。当我像这样将它插入the example 之后的打嗝时
[:> Dropdown
[:> DropdownToggle "button"]
[:> DropdownMenu {:variant :dark}
[:> DropdownItem "action1"]
[:> DropdownItem "action2"]
[:> DropdownItem "action3"]]]
我在浏览器控制台中得到以下信息:
Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: object.
我对整个前端世界都非常陌生,所以我不确定我是否做错了什么,或者 react-bootstrap、试剂或项目的任何其他部分是否存在错误。 这是这个问题的 MWE:https://github.com/lockie/react-bootstrap-cljs-demo
【问题讨论】:
-
我不知道closerscript,但是您是否在代码中缺少 Dropdown.Toggle 组件?你有一个可运行的 MWE,我可以在没有设置的情况下立即运行吗?
-
对,我使用的是 DropdownToggle,只是忘记将其复制到代码示例中。您可以运行我发布的 MWE,方法是运行
npm install,然后运行 npx shadow-cljs watch app,然后转到 localhost:8280
标签: react-bootstrap clojurescript reagent re-frame shadow-cljs