I have a function which: accepts (dash_app, component_id) as arguments, generates a Dash component and sets a callback on it, then returns the component.
If used with a static layout, this works fine.
If used with a dynamic layout (app.layout = some_layout_func), it breaks, complaining I have duplicate callback outputs and inputs.
(I have tried functools.lru_cache in various places but this does not help, I suspect its somehow related to threading? The function seems to get called multiple times w/ the same cache key… despite the fact its supposed to be a cached function. )
how to fix this to work with dynamic layouts? thanks