code: def test_stcp004_remount_store_component(dash_dcc):
      app = Dash(__name__, suppress_callback_exceptions=True)
  
      content = html.Div(
          [
              dcc.Store(id="memory", storage_type="memory"),
              dcc.Store(id="local", storage_type="local"),
              dcc.Store(id="session", storage_type="session"),
              html.Button("click me", id="btn"),
              html.Button("clear data", id="clear-btn"),
              html.Div(id="output"),
          ]
      )
  
      app.layout = html.Div(
          [html.Button("start", id="start"), html.Div(id="content")]
      )
  
      @app.callback(
          Output("content", "children"), [Input("start", "n_clicks")]
      )
      def start(n):
          return content if n else "init"
  
      @app.callback(
          Output("output", "children"),
          [
              Input("memory", "modified_timestamp"),
              Input("local", "modified_timestamp"),
              Input("session", "modified_timestamp"),
          ],
          [
              State("memory", "data"),
              State("local", "data"),
              State("session", "data"),
          ],
      )
      def write_memory(tsm, tsl, tss, datam, datal, datas):
          return json.dumps([datam, datal, datas])
  
      @app.callback(
          [
              Output("local", "clear_data"),
              Output("memory", "clear_data"),
              Output("session", "clear_data"),
          ],
          [Input("clear-btn", "n_clicks")],
      )
      def on_clear(n_clicks):
          if n_clicks is None:
              raise PreventUpdate
          return True, True, True
  
      @app.callback(
          [
              Output("memory", "data"),
              Output("local", "data"),
              Output("session", "data"),
          ],
          [Input("btn", "n_clicks")],
      )
      def on_click(n_clicks):
          return ({"n_clicks": n_clicks},) * 3
  
      dash_dcc.start_server(app)
  
      dash_dcc.wait_for_text_to_equal("#content", "init")
  
      dash_dcc.find_element("#start").click()
      dash_dcc.wait_for_text_to_equal(
          "#output",
          '[{"n_clicks": null}, {"n_clicks": null}, {"n_clicks": null}]',
      )
  
      dash_dcc.find_element("#btn").click()
      dash_dcc.wait_for_text_to_equal(
          "#output",
          '[{"n_clicks": 1}, {"n_clicks": 1}, {"n_clicks": 1}]',
      )
  
      dash_dcc.find_element("#clear-btn").click()
      dash_dcc.wait_for_text_to_equal("#output", "[null, null, null]")
  
      dash_dcc.find_element("#btn").click()
      dash_dcc.wait_for_text_to_equal(
          "#output",
          '[{"n_clicks": 2}, {"n_clicks": 2}, {"n_clicks": 2}]',
      )
  
      # now remount content components
      dash_dcc.find_element("#start").click()
      dash_dcc.wait_for_text_to_equal(
          "#output",
          '[{"n_clicks": null}, {"n_clicks": null}, {"n_clicks": null}]',
      )
  
      dash_dcc.find_element("#btn").click()
      dash_dcc.wait_for_text_to_equal(
          "#output",
          '[{"n_clicks": 1}, {"n_clicks": 1}, {"n_clicks": 1}]',
      )
  
      assert dash_dcc.get_logs() == []
  
file_path: dash/components/dash-core-components/tests/integration/store/test_component_props.py
imports: import json
  import time
  from pytest import approx
  from dash import Dash, Input, State, Output, dcc, html
  from dash.exceptions import PreventUpdate
  import dash.testing.wait
label_desc: Use image node_id 4 for calling a global function with example usage: test_stcp004_remount_store_component(dash_dcc) and returns: unknown, json, True,  True,  True, unknown