I'm creating a landing page builder that you can drag/drop elements in the dropzone, when you click on any element a left panel appears with the settings for this element and so on (something like Figma's settings panel).
requirements:
- each field can have a validation required or not
- the entire app has a reset button
- best performance
What the best way to handle a state like that?
My thoughts:
A single state across the entire app using Zustand, but Zustand doesn't provide form-like functionality (isDirty or reset or field validation)
the entire app would be a single form using React-hook-form, but that would be terrible for performance