code: def test_rdps004_show_hide(dash_duo):
      app = Dash(__name__)
      app.layout = html.Div(
          [
              html.Button("Show/Hide", id="toggle-table"),
              html.Div(id="container"),
          ]
      )
  
      @app.callback(
          Output("container", "children"),
          [Input("toggle-table", "n_clicks")],
      )
      def toggle_table(n):
          if (n or 0) % 2:
              return "nope"
          return simple_table(
              persistence_type="memory",
              persistence=1 if (n or 0) < 3 else 2,
          )
  
      dash_duo.start_server(app)
      check_table_names(dash_duo, ["a", "b"])
  
      rename_and_hide(dash_duo)
      check_table_names(dash_duo, [NEW_NAME])
  
      dash_duo.find_element("#toggle-table").click()
      # table is gone
      dash_duo.wait_for_text_to_equal("#container", "nope")
  
      dash_duo.find_element("#toggle-table").click()
      # table is back, with persisted props
      check_table_names(dash_duo, [NEW_NAME])
  
      dash_duo.find_element("#toggle-table").click()
      # gone again
      dash_duo.wait_for_text_to_equal("#container", "nope")
  
      dash_duo.find_element("#toggle-table").click()
      # table is back, new persistence val so props not persisted
      check_table_names(dash_duo, ["a", "b"])
  
imports: from multiprocessing import Value
  import pytest
  import time
  from selenium.webdriver.common.keys import Keys
  import dash
  from dash import Dash, Input, Output, State, MATCH, dcc, html, dash_table
  from dash_test_components import MyPersistedComponent
  from dash_test_components import MyPersistedComponentNested
label_desc: Use image node_id 10 for calling a global function with example usage: test_rdps004_show_hide(dash_duo) and returns: simple_table, str