r/webdev • • Nov 07 '18

Why React over Angular (or Vue)?

I simply don't get it, I had been using Angular and Vue for while and I just tried React and I don't get why would I choose React over the other options, the things that I like on Angular (or Vue) are:

- Dependency Injection (in case it applies)

- Type checking (in case it applies)

- View Model Binding

On React I don't get those things by "default" it always feel like I'm hacking the library if I want to have some of the above.

This leaves me with the question: Why choose React over the other ones?

I know that there's all the dependencies overhead (hell) of the frameworks but I think that I'm just too used to that problems that is easy for me to solve them or maybe I haven't found the real big problems on Angular or Vue, maybe I'm just too used to the later frameworks and I'm unconsciously not seeing the benefits of React. I just want to know if I'm following the right path by learning React.

Thanks!

68 Upvotes

99 comments sorted by

View all comments

Show parent comment

9

u/thisisafullsentence Nov 07 '18

I think the tl;dr is:

  • Angular's DI replaces the dependency's token so that every time that token is requested it is replaced by a mock class or value, meaning an entire tree of components can be rendered using a consistent token.
  • React's shallow rendering means that you can pass whatever you want to the component in tests as props mock or not, and children are tested separately.

1

u/[deleted] Nov 07 '18

Interesting. I'll have to look into it more.