What's the best place to learn React.js?
Kamil Blockchain☆Przeorski
CEO of Experty- crypto geek - Zürich Open Blockchain meetup founder (est. 2019)
Generally, my answer is based on my experience, as I run a ReactJS/React-Native software development company and I've trained many jQuery/AngularJS/BackboneJS developers in order to be efficient in React.
PLEASE NOTE: that question was originally posted in 2015, but in 2016 it shall be rephrased to "What's the best place to learn React.js and REDUX?"
About the process of being productive in REACT.JS:
1) Learning only ReactJS doesn't make sense in 2016
Generally, React must be paired with Redux in order to make a functional single-page-app, the right way (or other similar solutions like MobX or CerebralJS).
When learning only React has sense? When you have an Angular/Ember/etc app where you want to add a single React component - I don't see other use cases where you shall learn only React.
2) You can be productive in less than 7 days
Do you have experience in making web apps in other technologies like jQuery/Angular etc? Then, in most cases you will be productive and hireable in React+Redux in less than 7 days if you will follow the instructions about how to learn it, below.
3) What do you need to know about EcmaScript 6 (ES6) and JavaScript
Topics and resources that may help you to master your foundation before learning React:
- Higher-order functions
- JavaScript Arrays in Depth (Map)
- Reduce Data with Javascript Array
- Closures
- Currying
- Recursion
- Promises
- ES6/ES7 syntax
The complete list with links to online videos and resources is available at: React Redux, the Right Way. Free Book, Blog and Tutorial
DON'T really waste time to learn React if you are not familiar with the concepts listed about - master them and it'll pay off long term.
ALL THE LEARNING MATERIALS in that are listed in that article are 100% FREE.
WHY AND WHERE TO LEARN REACT
Why to learn React, you can find in the other Quora’s answers as:
WHERE to learn React's best practises that are used in 2016?
Watch FREE React Fundamentals videos series at egghead: React Fundamentals
This videos series will show you what is React and how it works. That will be enough at this point in order to grasp ES6 React basics.
IMPORTANT NOTE: when watching this React videos series be active and commit the code so you will learn much more by doing than only passively watching. After that don't waste time and money on other paid materials - it's not worth it at this point. Learn from other free materials listed below.
Based on that React Fundamentals videos series make your first React App:
- my shot is that you can try to make the ToDo app (you can find a good tutorial atReact Tutorial (with Webpack + ES6): Build a ToDo App with Best Practices but I suggest you to make it on your own first and in case of problems, please follow the tuts).
WHY AND WHERE TO LEARN REDUX
Why to use React altogether with Redux at all? As an analogy for beginners, I like to use the SQL. Redux gives you a lot of convenience over plain React in terms of storing data on the front-end. It's like an SQL database of your client-side app (not literally, just an analogy). With Redux, you can to query SELECT, INSERT and UPDATE the data in your single state tree.
Redux has advantages as following:
1) Redux is easier to grasp than FLUX singleton approach (don't bother about FLUX in 2016, it was used in 2014-2015)
2) It has strong support from the community and the Redux's creator (Dan Abramov) has become a part of FB's React team
3) Redux is powerful because it uses immutability as a default and is very helpful if you need to implement server-side rendering (isomorphic javascript app)
WHERE to learn React+Redux best practises that are used in 2016?
1) Dan Abramov has prepared series of videos that are available at:
2) After you have finished that video series, then you need to get more practise with React Redux then use this free and online book ReactJS Convention For Dummies (React Redux, the Right Way. Free Book, Blog and Tutorial) which guides you through:
- General client codebase structure of the React Convention
- Make new dashboard route
- Add/edit item on the dashboard list
- Reorder an item on the dashboard list (pure React Drag and Drop example)
- Login with mocked data (front-end)
After you will make those features by following steps in the ReactJS Convention book, then you can be sure about your React Redux skills.
A summary: based on following all those steps carefully, you can be sure that you will have valuable skills on the job market. As I already said it shall take you around 7 days if you are familiar with JavaScript already.
Good luck in finding your dream React job :-)