If you're architecture is based on event sourcing, this is kind of the point
Here, I have recreated your JS example with searching and filtering and it does not crash. It's trivial to reuse a similar approach with the real backend and real events from the event source.
https://htmlpreview.github.io/?https://gist.githubuserconten...
*Update: Here is 1 million rows table with search, filtering and pagination. In plain Javascript:
https://htmlpreview.github.io/?https://gist.githubuserconten...
The fact you didn't even stop to wonder why the error was a stack overflow when you weren't using recursive functions is also telling.