A guide for experienced programmers learning JavaScript and React.
-
Effective JavaScript covers advanced JavaScript topics, such as concurrency and library design, in great detail.
-
Eloquent JavaScript dives deeper into JavaScript. This is a good place to cover more advanced topics such as closures, data structures, and error handling.
-
Functional-Light JavaScript: A book about functional programming in JavaScript.
-
Art of Node: An introduction to Node and its programming paradigm and style.
-
MDN (the Mozilla Developer Network) is the best resource for reference documentation. This is a great place for not just JavaScript, but also anything else web-related (HTML, CSS, etc.).
-
JavaScript Garden documents the most quirky parts of JavaScript. It's a good place to get familiar with behavior that may otherwise catch you by surprise.
Egghead.io provides excellent video-based lessons for both JavaScript and React. A few good ones to gets started with are:
- nodeschool.io provides interactive "workshoppers" to learn JavaScript and related topics. The Javascripting, Functional JavaScript, and Planet Proto workshoppers are good places to start.
The best way to learn React is hands-on.
The official Intro to React Tutorial is the best place to start.
After the tutorial, building your own small React application will help solidify the fundamentals and begin identifying edge cases and scaling problems. It's a good idea for your application to have some non-trivial amount of state, and use asynchronous APIs.
Create React App is a tool that lets you quickly scaffold a React application without worrying about project structure, build tools, etc.
The most important part of React Native is the React programming model. Going through the official React (for web) tutorial and building a practice web React application (see above) is the best way to start. After that, the official React Native Tutorial and documentation is a good place to learn React Native specifics.