Skip to content

[BUG] No callback to dcc.Location when two or more dcc.Location are placed in layout #1312

@papalagichen

Description

@papalagichen

Thank you so much for helping improve the quality of Dash!

We do our best to catch bugs during the release process, but we rely on your help to find the ones that slip through.

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

  • replace the result of pip list | grep dash below
dash                      1.13.3
dash-auth                 1.3.2
dash-bootstrap-components 0.10.2
dash-core-components      1.10.1
dash-html-components      1.0.3
dash-renderer             1.5.0
dash-table                4.8.1
  • if frontend related, tell us your Browser, Version and OS

    • OS: [e.g. macOS]
    • Browser [e.g. chrome, safari, firefox]
    • Version [e.g. 83.0.4103.116, 13.1.1, 77.0.1]

Describe the bug

In a multi-page app, browser's back and forward buttons do not work when multiple dcc.Location components are placed in layout. No callback is triggered nor request is sent when browser's back or forward button is clicked. As a result, I see the URL is changed while the page is not rendered accordingly.

Two dcc.Location are placed in the layout like following code snippet.

url_bar_and_content_div = html.Div([
    dcc.Location(id='url', refresh=False),
    dcc.Location(id='url2', refresh=False),
    html.Div(id='page-content')
])

Expected behavior

When URL is changed, the corresponding callback should be called and page should be rendered accordingly.

Screenshots

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions