7 ms·
Just to correct this a bit, while this is certainly true of AngularJS, this is certainly not true of Angular. Angular since v2 has taken a reactive approach thr
by Bahamut 8y ago
Just to correct this a bit, while this is certainly true of AngularJS, this is certainly not true of Angular. Angular since v2 has taken a reactive approach throughout, and even the two-way data bing is just syntactic sugar for an evented pattern powered by rxjs. Perf-wise, other than initial load, Angular is actually a little better from my understanding & based on numbers I’ve seen.
React has certain weaknesses that aren’t seen in other UI libraries/frameworks as well - forms are a complete mess to work with, even with formik, and animations are pretty problematic.
As with anything, there are tradeoffs to approaches. FB isn’t as form heavy in general, so optimizing how it works for the rendering inputs from external sources & dev usability makes sense for their use cases. It’s important not to conflate this by overpraising.
- mds101 8y ago> forms are a complete mess to work with Could you elaborate on this? I've been creating form heavy react apps for a couple of years now and haven't really come across anything that would make it 'a mess'.
- fiddlerwoaroof 8y agoI find that the biggest issue with forms and react is attempting to use lifecycle methods and local state to manage the behavior of the controls: at work, I’ve done a bunch of refactorings to replace local state and lifecycle methods with redux and logic in the render method of the parent components, and this has always led to simpler components and has fixed a lot of bugs caused by inconsistencies between props and state.
- jordic 8y agoYou made not need redux! Found lot's of projects where they plug redux an turns the project a completly mess. (connected components everywhere), actions to manage local component ui state..
- danabramov 8y agoI’ve heard people are pretty happy with Formik. https://jaredpalmer.com/formik/ https://jaredpalmer.com/formik/
- latchkey 8y agoYou're right Dan, this is a great framework, but the code complexity behind it is insane. Of course a lot of that complexity is due to HTML/browser, we cannot ignore that. However, part of that complexity is the fault of React. The choice of HOC vs. Component... two ways to do the same thing. There is also FastForm vs. Form. As we move on over time, now we have hooks being added as well. The mental complexity just to put a simple input on a page is overwhelming. I think what I'm looking for is React to take some ownership and provide guidance out of the box for these core browser features under the React umbrella.
- quantummkv 8y ago> I think what I'm looking for is React to take some ownership and provide guidance out of the box for these core browser features under the React umbrella. So we need React on Rails? An opinionated collection of libraries that work on top on the React Runtime. I personally find this idea compelling.
- latchkey 8y agoThere are a few of these sorts of things already. I'm not really talking about opinionated frameworks (or collections of various github projects stuff into a big meta project). https://reactjs.org/community/starter-kits.html https://reactjs.org/community/starter-kits.html What I'm talking about is something more akin to this statement: https://angular.io/guide/forms-overview https://angular.io/guide/forms-overview "Handling user input with forms is the cornerstone of many common applications"
- quantummkv 8y ago
- bgdam 8y agoI think this is because you are using both state and props to manage the values of fields. I generally tend to use only props, with an onChange handler passed in from the parent component. This way, I can always have an up to date mapping of field names to values in the parent component, while simplifying state management in the child.
- fiddlerwoaroof 8y agoThis is exactly what I’m saying: use only props and handle state elsewhere.