plotly / dash

Data Apps & Dashboards for Python. No JavaScript Required.
https://plotly.com/dash
MIT License
21.19k stars 2.04k forks source link

[BUG] Renderer can't find element that exists in DOM - `nonexistent object ` #2300

Closed LiamConnors closed 1 month ago

LiamConnors commented 1 year ago

Describe your context Please provide us your environment, so we can easily reproduce the issue.

Describe the bug

While working on a feature for the docs, I created a container called dropdown-container with a dropdown and this container is visible on only some pages. On pages where it isn't visible, the callback updates the style to style={'display': 'none'}.

After going to a number of pages in a row (about 10) that don't display the container, the container can no longer be found. It throws an error:

A nonexistent object was used in an `Output` of a Dash callback. The id of this object is `dropdown-container` and the property is `style`.

It does however exist in the DOM. And exists in the layout: store.getState().layout It doesn't exist in the paths though: store.getState().paths

Steps to reproduce:

  1. Clone the docs repo and check out the de-versioning-2 branch (https://github.com/plotly/ddk-dash-docs/tree/de-versioning-2)
  2. Run the docs with python index.py
  3. Go to the a path that does display the container: /dash-enterprise/redis-database
  4. From the menu on the left, start clicking on the different pages in the Dash Tutorial and Dash Callbacks sections. image

    After clicking on around 10 different pages, the error is displayed:

image

Expected behavior

That it would be able to find the dropdown-container, and not throw an error.

@alexcjohnson

gvwilson commented 1 month ago

@LiamConnors is this still a problem or can this one be closed? thx - @gvwilson

LiamConnors commented 1 month ago

Haven't seen this since. Closing