Description
What you were expecting:
SimpleFormIterator
should be able to handle reasonable sized tables without performance issues.
What happened instead:
We are using SimpleFormIterator to edit 7x TextInput and 1x SelectInput. Unfortunately, even for a single entry in the ArrayInput-Field, we are seeing warnings like this in the console when editing:
[Violation] 'message' handler took <N>ms
[Violation] 'input' handler took 347ms
chunk-276SZO74.js?v=198b0983:18625 [Violation] 'mousedown' handler took 346ms
chunk-276SZO74.js?v=198b0983:18625 [Violation] 'click' handler took 356ms
5[Violation] 'focusout' handler took <N>ms
chunk-276SZO74.js?v=198b0983:18625 [Violation] 'click' handler took 361ms
chunk-276SZO74.js?v=198b0983:18625 [Violation] 'click' handler took 420ms
[Violation] 'input' handler took 365ms
[Violation] 'input' handler took 360ms
chunk-276SZO74.js?v=198b0983:18625 [Violation] 'setTimeout' handler took 380ms
The slowness is more or less linearly increasing with every form-component, in other words, it looks like react-admin doesn't really work well / scale with larger data-sets / forms. We really hope that's not the case, as this for us is a show-stopper.
Here is a demo: https://stackblitz.com/~/github.com/HansKre/ra-demo
Steps to reproduce:
Go to the demo-link and try using the form. Ideally, open dev-tools to see the warnings.
Related code:
- Preferably, a sandbox forked from
https://stackblitz.com/~/github.com/HansKre/ra-demo
Environment
- React-admin version: 5.4.0 with react-hook-form: 7.53.2
- React version: 18.3.1
- Browser: Chrome, Safari