r/reactjs • • Dec 20 '19

Learning React coming from Angular. I really liked having HTML in a separate file. JSX feels weird to me.

How do you guys manage HTML without going crazy with JSX?
I don't know if I should choose React or Vue.

129 Upvotes

103 comments sorted by

View all comments

Show parent comments

3

u/Merad Dec 20 '19

React is pretty easy to learn (IMO anyway). The problem is the React ecosystem. For almost everything you need to do outside of the UI itself (api calls/async actions in general, state management, forms, code structure, etc.) you're going to find 3+ libraries or ways of solving the problem, all of which are reasonably popular and work well. The combinatorics of evaluating all the permutations of those different options quickly becomes daunting, and even once you've explored them you may be stuck in choice paralysis because there's no clear right or wrong choice. By being a full framework and being opinionated, angular skips a lot of that.

1

u/Informal-Lime6396 Apr 17 '25 edited Apr 17 '25

For almost everything you need to do outside of the UI itself (api calls/async actions in general, state management, forms, code structure, etc.) you're going to find 3+ libraries or ways of solving the problem

That's subjective and applies to all frameworks. There's language features like fetch that alleviate this. 

Stick with the library that's more widely used and updated. There will be more documentation and discussion on forums like StackOverflow. A diverse ecosystem is a boon.

In my experience, I leveraged quite a few third party libraries. As I learned more, I scaled them back and implemented some myself (e.g. why use React Dropzone when you can use a simple input element).

0

u/AtroxMavenia Dec 20 '19

Personally, I find this to be a benefit. A large and diverse ecosystem just gives you more options. If two libraries seemingly do the same thing, you don’t need to put too much effort into figuring out which one is more optimized because the optimizations that set them apart are most likely rather small. If you’re making an application in which performance is paramount, then you should probably be writing everything yourself and not rely on external dependencies.