3 ms·
Depends on what kind of so your building. For a while, a lot of the form libraries out there triggered huge numbers of rerenders and caused perf issues. That's
by mind-blight 4y ago
Depends on what kind of so your building. For a while, a lot of the form libraries out there triggered huge numbers of rerenders and caused perf issues. That's still a problem, though some of it has gotten better uncontrolled components.
Timing-based UIs are (such as a sequence of triggered animations) can get really messy really fast. I've seen some really messy bugs in a app that had visuals and audio tied to different timers and user inputs in the app. We eventually moved all time-based animations to observables, which helped some
- ivalm 4y ago> a lot of the form libraries out there triggered huge numbers of rerenders and caused perf issues Something I don’t quite get, doesn’t useRef just solve the re-render issue?
- yurishimo 4y agoSure, but then you're managing state and re-renders yourself. Kinda defeats the purpose of using the framework, right? The useRef() approach to fixing performance is the main reason why I think Signals are popping off. Users of frameworks like Vue and Svelte have felt this way for a long time.
- pas 4y agoI've worked on a form + animations based site ~2 years ago. Forms via higher-order functions, it was a full-stack NextJS thing. Without TS. I had to eventually claw my eyes out and that solved part of my problems, at least I did not see the boilerplate and the ugliness. Then soon after that we worked on a similar thing (form + draggable carousel with snap to grid animation) in Angular with Material. And my conclusion is that whichever framework you pick, whatever libraries you end up using, you must have a strategy to allocate your time and maintenance budget, and many many many times the sane compromise is to write something in raw JS and encapsulate that in whatever the framework gives you, and move on. Don't try to solve it within the framework, because it's just not worth it.
- Zetice 4y agoForms were annoying but `react-hook-forms` eliminated any random issues we had, and now forms are fine. Again, context saves the day here by letting me grab the form context within nested components to keep everything humming. I don't know if we have any "timing" based components, though we manage global state using Apollo Client and again, haven't really had any issues with that.