Open nickofthyme opened 1 year ago
@markov00 I took a look into this and for some reason the redux state does not appear to be updating the parent dimensions. The UPDATE_PARENT_DIMENSION
reducer is called with a non-zero height
and width
but then immediately after the getInternalIsInitializedSelector
returns a non-initialized state with height = width = 0
.
When you get a chance could you take a look, cuz I'm out of ideas on what it could be.
@markov00 I took a look into this and for some reason the redux state does not appear to be updating the parent dimensions. The
UPDATE_PARENT_DIMENSION
reducer is called with a non-zeroheight
andwidth
but then immediately after thegetInternalIsInitializedSelector
returns a non-initialized state withheight = width = 0
.When you get a chance could you take a look, cuz I'm out of ideas on what it could be.
I did but not fully sure about my findings (I need to dig a bit more):
This issue appears to be caused by using the StrictMode
component from react
. Still investigating but likely due to these changes.
See same demo as above with StrictMode
removed.
Since kibana does not use StrictMode
I am pushing this fix to 8.16
cycle to be done along with work to upgrade redux https://github.com/elastic/elastic-charts/issues/2377.
Hi there, i am using elastic/charts 65.2.0 with Next13 and React18 and have the same error with onElementClick event. Is there any workaround or fix?
@jonas080301 are you using StrictMode
?
@jonas080301 are you using
StrictMode
?
Looks like NextJS uses React in Strict Mode. I got it to work by setting reactStrictMode to false in the next.config.ts! Thank you
Glad to hear! I plan to dig deeper into the issue soon but for now that is the best workaround.
When using charts with
react@^18
, the event callbacks for user interactions all fail to be called.This issue appears to be related to the
ResizeObserver
callingonResize
with an empty element (i.e.{ height: 0, width: 0 }
). Then theUPDATE_PARENT_DIMENSION
is updating to the zeroed dimensions and blocking the initialization of the event callbacks.See codesandbox example here
Notice not console logs of the events.