Ask HN: What are some good React tutorials?
I am beginner in this whole javascript/node ecosystem. Currently i am going through express.js framework, and would like add a client-side framework/library to my repertoire.Any suggestions would be welcome.
45 comments
[ 3.3 ms ] story [ 111 ms ] threadAnd then you can always look at awesome-react. [2]
[1] https://github.com/petehunt/react-howto [2] https://github.com/enaqx/awesome-react
Building Your First React App: https://medium.com/learning-new-stuff/building-your-first-re...
Building Your Second React App: https://medium.com/learning-new-stuff/building-your-second-r...
React.JS in 8 minutes: https://medium.com/learning-new-stuff/learn-react-js-in-7-mi...
Other than that, I always recommend the official tutorial: https://facebook.github.io/react/docs/tutorial.html
... and Egghead.io's videos: https://egghead.io/series/react-fundamentals
https://github.com/ruanyf/react-demos
Full-Stack Redux Tutorial: http://teropa.info/blog/2015/09/10/full-stack-redux-tutorial...
https://facebook.github.io/react/docs/thinking-in-react.html
React.js By Example [http://reactkungfu.com/react-by-example/] was enormously helpful in showing how to structure various different real-world apps. So if you find yourself beyond the basic CommentBox examples, but not sure how to build your own components then this might help.
will help you to get started with react. I'm following this blog post to learn react myself.
http://jamesknelson.com/learn-raw-react-no-jsx-flux-es6-webp...
And, of course, people are choosing different paths to fill in the rest of the stack. All of which pull your specific 'style' of using react in slightly different directions.
Searching for MVC trips a lot of developers up.
And how many different frameworks are in common use to implement that pattern? :)
Edit: Also notable the the 'V' in MVC line comes from React's home page.
Full of graphics and nice examples - it covers a lot of the reasons folks find react so fun to work with.
As a pro-tip: there is a lot of tooling, and things move quickly so a lot of examples on the web get outdated FAST. Don't be discouraged - it can be rough.
http://blog.andrewray.me/reactjs-for-stupid-people/
I've had 4500 people take it so far and have had tons of positive feedback - take a look!
https://code-cartoons.com/a-cartoon-guide-to-flux-6157355ab2...
https://github.com/ustun/reactjs-introduction
There is a video at https://www.youtube.com/watch?v=NSeurgO39Hk if you are interested.
http://teropa.info/blog/2015/09/10/full-stack-redux-tutorial...
Learning Redux from the get go means you can skip a lot of React's internal state management / lifecycle methods.
The tutorial also covers a bunch of relevant topics like TDD with React, immutable.js, and socket.io.
Other than that you're right. It's one of the complete tutorial that makes TDD actually enjoyable. However, that has mostly to do with how redux and immutability has been used in the tutorial.
Also for those interested in more on Redux, there is an excellent Getting Started tutorial by Dan Abramov (its creator) on egghead.io:
https://egghead.io/series/getting-started-with-redux
While your intended backend and frontend are both javascript, they have very different concerns. I suggest you learn them in as much isolation as you can, before attempting to mix the two.
I would highly recommend that you do NOT start from learning react. React is a line in a very long story that the JS community has been living. Please strive to understand how that story started, and where react fits in, and what methodologies are being used in the libraries/frameworks that are popular today.
Rather than starting with and binding yourself to react, I'd suggest you start with the minimum you need, and progress to different libraries as you need them, and realizing the actual need/niche for frameworks.
A progression might look like this:
1) HTML+CSS+JS - Basic static, well designed pages
2) HTML+CSS+JS+jQuery - 1) + simple interactions on the page, note that too much jquery will quickly become hard to reason about
2) HTML+CSS+JS+Databinding - 1) + declarative databinding (with a framework like Knockout) will introduce some structure into DOM updates over the jquery approach
3) HTML+CSS+JS+Databinding+Routing - 2) + a realization that knockout generally aims to work on one page at a time, but obviously sites have many pages, and SPAs can be beneficial in delivering instant-feeling user experience.
4) HTML+CSS+JS+Databinding+Routing+Components - 3) + realizing the need for separation and isolation between components to keep your sanity (both knockout.js and react offer components)
5) HTML+CSS+JS+Databinding+Routing+Components+Data - 3) Handling data from the server is obviously important, backbone has an oft-praised model system, and you could also flux pattern since you're interested in react.
5) Framework ? At this point, including x libraries to do all the things that you have found make your life easier may be less preferable to using a framework. Of course, this means you'll have to deal with the cognitive overhead of a framework but at this point, you should know exactly WHY you are using a framework, and start to distinguish the difference between how different frameworks bundle the parts.
Ex. the distinction between how knockout.js does databinding, how react does it, and how angular1 does it.
Ex. The difference between react's rendering methodology and backbone's (they both use a render function to determine what will be shown -- how is react different?)
I might suggest redoing a small app like TodoMVC with all these options (you can change it up by styling the frontend differently every time or something), I think a process like that leads to a more well-balanced understanding of frontend JS.