Slow page due to a lot of pattern-matching callbacks

I created an app, that shows a table of dynamic length. For each row in the table, there is a button which should expand some details.
The table is created by a callback, and the button/collapsible combo is also handled in a dynamic (pattern-matching) callback:

    Output({'type': 'collapse-output', 'index': MATCH}, 'is_open'),
    [Input({'type': 'collapse-button', 'index': MATCH}, 'n_clicks')],
        State({'type': 'collapse-output', 'index': MATCH}, 'is_open'),
def display_output(n, is_open):
    if n:
        return not is_open
    return is_open

With around 80 rows, this is unfortunately not really performant, as for every row a dash update call is run, blocking the report. The actual functionality required is only JavaScript (no data is reloaded when clicking the button, only collapse/expand happens). I tried doing a client-side callback, which works but is the same in terms of performance.
Are there any approaches to have something like this, which are more performant?

Thanks :slight_smile:

There seems to be no solution to this. Maybe I can do something using html.Details, I did not even manage it with defered js import (also this feels super hacky and is not a nice solution).