This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-10-08
Channels
- # announcements (20)
- # aws (16)
- # babashka (63)
- # beginners (75)
- # calva (35)
- # cider (2)
- # clj-commons (5)
- # clj-kondo (2)
- # cljs-dev (1)
- # clojure (90)
- # clojure-australia (3)
- # clojure-europe (16)
- # clojure-france (1)
- # clojure-nl (4)
- # clojure-uk (5)
- # clojurescript (7)
- # data-science (2)
- # datahike (1)
- # datomic (39)
- # emacs (31)
- # events (2)
- # figwheel-main (1)
- # fulcro (15)
- # gratitude (8)
- # helix (17)
- # holy-lambda (1)
- # introduce-yourself (1)
- # jobs (3)
- # kaocha (2)
- # liquid (1)
- # malli (1)
- # nrepl (2)
- # other-languages (1)
- # portal (76)
- # react (19)
- # reagent (9)
- # remote-jobs (1)
- # rewrite-clj (9)
- # shadow-cljs (31)
- # tools-deps (5)
- # xtdb (11)
Hi, I’m using react-bootstrap in a reagent app, so far no issues, I have been able to use most of the ui components without problems, but right now I’m having error trying to translate this example https://react-bootstrap-v4.netlify.app/components/overlays/#overlay-trigger
const renderTooltip = (props) => (
<Tooltip id="button-tooltip" {...props}>
Simple tooltip
</Tooltip>
);
render(
<OverlayTrigger
placement="right"
delay={{ show: 250, hide: 400 }}
overlay={renderTooltip}
>
<Button variant="success">Hover me to see</Button>
</OverlayTrigger>,
);
this is my try
(defn Tooltip [props]
[:> Tooltip (merge {:id "idx"} props)
"simple tooltip"])
(defn Popover []
(let [tt [Tooltip {}]]
[:> OverlayTrigger {:placement "right"
:overlay tt}
[:> Button {:variant "success"} "hover me"]]))
.....
[:div "test" [Popover]}]]
....
when I hover the button I see this errors
Uncaught TypeError: Cannot read properties of undefined (reading 'className')
at Object.eval [as children] (Overlay.js:102)
at eval (Overlay.js:104)
at renderWithHooks (react-dom.development.js:14986)
at updateForwardRef (react-dom.development.js:17045)
at beginWork (react-dom.development.js:19099)
at HTMLUnknownElement.callCallback (react-dom.development.js:3946)
at Object.invokeGuardedCallbackImpl (react-dom.development.js:3995)
at invokeGuardedCallback (react-dom.development.js:4057)
at beginWork$1 (react-dom.development.js:23965)
at performUnitOfWork (react-dom.development.js:22777)
eval @ Overlay.js:102
eval @ Overlay.js:104
renderWithHooks @ react-dom.development.js:14986
updateForwardRef @ react-dom.development.js:17045
beginWork @ react-dom.development.js:19099
callCallback @ react-dom.development.js:3946
invokeGuardedCallbackImpl @ react-dom.development.js:3995
invokeGuardedCallback @ react-dom.development.js:4057
beginWork$1 @ react-dom.development.js:23965
performUnitOfWork @ react-dom.development.js:22777
workLoopSync @ react-dom.development.js:22708
renderRootSync @ react-dom.development.js:22671
performSyncWorkOnRoot @ react-dom.development.js:22294
eval @ react-dom.development.js:11328
exports.unstable_runWithPriority @ scheduler.development.js:469
runWithPriority$1 @ react-dom.development.js:11277
flushSyncCallbackQueueImpl @ react-dom.development.js:11323
flushSyncCallbackQueue @ react-dom.development.js:11310
eval @ react-dom.development.js:22404
batchedEventUpdates @ react-dom.development.js:3746
dispatchEventForPluginEventSystem @ react-dom.development.js:8508
attemptToDispatchEvent @ react-dom.development.js:6006
dispatchEvent @ react-dom.development.js:5925
exports.unstable_runWithPriority @ scheduler.development.js:469
dispatchUserBlockingUpdate @ react-dom.development.js:5895
react_devtools_backend.js:4049 The above error occurred in the <Overlay> component:
at eval ()
at Overlay ()
at OverlayTrigger ()
at cmp ()
at div
at cmp ()
at div
at eval ()
at div
at eval ()
at cmp ()
at div
at cmp ()
Consider adding an error boundary to your tree to customize error handling behavior.
Visit to learn more about error boundaries.
overrideMethod @ react_devtools_backend.js:4049
logCapturedError @ react-dom.development.js:20086
lane.callback @ react-dom.development.js:20119
commitUpdateQueue @ react-dom.development.js:12319
commitLifeCycles @ react-dom.development.js:20737
commitLayoutEffects @ react-dom.development.js:23427
callCallback @ react-dom.development.js:3946
invokeGuardedCallbackImpl @ react-dom.development.js:3995
invokeGuardedCallback @ react-dom.development.js:4057
commitRootImpl @ react-dom.development.js:23152
exports.unstable_runWithPriority @ scheduler.development.js:469
runWithPriority$1 @ react-dom.development.js:11277
commitRoot @ react-dom.development.js:22991
performSyncWorkOnRoot @ react-dom.development.js:22330
eval @ react-dom.development.js:11328
exports.unstable_runWithPriority @ scheduler.development.js:469
runWithPriority$1 @ react-dom.development.js:11277
flushSyncCallbackQueueImpl @ react-dom.development.js:11323
flushSyncCallbackQueue @ react-dom.development.js:11310
eval @ react-dom.development.js:22404
batchedEventUpdates @ react-dom.development.js:3746
dispatchEventForPluginEventSystem @ react-dom.development.js:8508
attemptToDispatchEvent @ react-dom.development.js:6006
dispatchEvent @ react-dom.development.js:5925
exports.unstable_runWithPriority @ scheduler.development.js:469
dispatchUserBlockingUpdate @ react-dom.development.js:5895
react-dom.development.js:11341 Uncaught TypeError: Cannot read properties of undefined (reading 'className')
at Object.eval [as children] (Overlay.js:102)
at eval (Overlay.js:104)
at renderWithHooks (react-dom.development.js:14986)
at updateForwardRef (react-dom.development.js:17045)
at beginWork (react-dom.development.js:19099)
at HTMLUnknownElement.callCallback (react-dom.development.js:3946)
at Object.invokeGuardedCallbackImpl (react-dom.development.js:3995)
at invokeGuardedCallback (react-dom.development.js:4057)
at beginWork$1 (react-dom.development.js:23965)
at performUnitOfWork (react-dom.development.js:22777)
eval @ Overlay.js:102
eval @ Overlay.js:104
renderWithHooks @ react-dom.development.js:14986
updateForwardRef @ react-dom.development.js:17045
beginWork @ react-dom.development.js:19099
callCallback @ react-dom.development.js:3946
invokeGuardedCallbackImpl @ react-dom.development.js:3995
invokeGuardedCallback @ react-dom.development.js:4057
beginWork$1 @ react-dom.development.js:23965
performUnitOfWork @ react-dom.development.js:22777
workLoopSync @ react-dom.development.js:22708
renderRootSync @ react-dom.development.js:22671
performSyncWorkOnRoot @ react-dom.development.js:22294
eval @ react-dom.development.js:11328
exports.unstable_runWithPriority @ scheduler.development.js:469
runWithPriority$1 @ react-dom.development.js:11277
flushSyncCallbackQueueImpl @ react-dom.development.js:11323
flushSyncCallbackQueue @ react-dom.development.js:11310
eval @ react-dom.development.js:22404
batchedEventUpdates @ react-dom.development.js:3746
dispatchEventForPluginEventSystem @ react-dom.development.js:8508
attemptToDispatchEvent @ react-dom.development.js:6006
dispatchEvent @ react-dom.development.js:5925
exports.unstable_runWithPriority @ scheduler.development.js:469
dispatchUserBlockingUpdate @ react-dom.development.js:5895
@U9VP9VCE6 thanks for your replay. When I change my code the error changed to
Uncaught Error: [object Object] is not ISeqable
.....
The above error occurred in the <ui$overlays$Tooltip> component:
but then I realized that I was using the same name for my component ant for the react-boostrap component 
I don’t understand how should I provide the overlay attribute
I think the reason is that the React component is expecting the overlay
prop to be a React element.
To convert your Reagent component into a React element, there are helper functions in the Reagent library:
Have a look at. r/as-element
- I think that one will solve it.
Something like :overlay (r/as-element tt)
@U018VMC8T0W thanks for your replay. When I change my code the error changed to
Uncaught Error: [object Object] is not ISeqable
.....
The above error occurred in the <ui$overlays$Tooltip> component:
but then I realized that I was using the same name for my component ant for the react-boostrap component 