It was also hard to manage/track the state of a given user interface.
Fundamentally, this is the problem React solves.
- expensive
- error-prone
- hard to keep track of
DOM updates with React:
- managed complexity
- more predictable
- explicitly managed
👌🏾
Moreover, React makes state updates explicit and provides comfortable primitives to manage them.
- routing
- data access
- internationalization
- etc.
Instead, it employs the single responsibility principle and does one thing well: rendering.
The component model also encourages small, testable and reusable code.
Because of these reasons, learning React will make you a better engineer in general.
Immutability: don’t change things, produce new ones instead
Purity: no side effects, always return the same output for a given input
Composition: combine small components (functions of state) to form your UI
This means it is more likely that you will be able to get a job in a place that you wish if you know React.
- React solves the UI Problem of interactivity
- It focuses on solving the one problem well
- It teaches you better practices
- It has a lovely community
- It has widespread adoption
I hope this was helpful.
- React Docs: reactjs.org/docs/getting-s…
- React course on @freeCodeCamp: freecodecamp.org/news/learn-rea…
- Courses by @ReactTraining: courses.reacttraining.com
- React Tutorial by @kentcdodds: egghead.io/courses/the-be…
- React course by @tylermcginnis: tylermcginnis.com/reviews/
- React for Beginners by @wesbos: reactforbeginners.com
- Reactiflux discord channel by @gabe_g2i: reactiflux.com
- Functional Light JavaScript by @getify: github.com/getify/Functio…
- React subreddit moderated by @swyx: reddit.com/r/reactjs