Introduction to React teaches you React, the JavaScript framework created by developers at Facebook, to solve the problem of building complex user interfaces in a consistent and maintainable way. React.js shrugs away common front-end conventions in an effort to make things more efficient - use Introduction to React to learn about this framework and more today. Get to know the React API and it’s specific JavaScript extension, JSX, which makes authoring React components easier and maintainable. You will also learn how to test your React applications and about the tools you can use while building. Once you understand these core concepts, you can build applications with React. This will help you cement the ideas and fundamentals of React and prepare you to utilize React in your own use case. Introduction to React is for a web developer who is comfortable writing JavaScript and CSS. You will apply JavaScript to build web pages that utilize the paradigm shifting React framework. Introduction to React will provide you with the tools to create maintainable complex user interfaces.
Introduction to React is the second React book I'm reading in the past weeks.
Given that the previous book React: Up and Running left me disappointed, I expected better things by Introduction to React - but I was wrong. I could do a review by comparison but I would be making the same mistake, Introduction to React did in chapter 1 - I would have to assume the reader of this review has read my other review and is somewhat aware of the contents in both of the books. Needless to say that won't be efficient for you, would it?
Without unnecessary clutter, I will write the review in a chapter by chapter approach. Here it goes:
The book starts with a good theoretical intro on React 'Defining React', 'Why React?', 'What problems does React solve?' and etc. Pretty solid that made me excited about the next few chapters. Shortly afterwards there are example todomvc SPAs in ember, angular and then in React. Then I was a bit surprised. Defining theoretically what React does, solves and then jumping straight into a code example comparison between the SPAs isn't doing any good to anyone. You can't expect anyone to make something useful out of the comparison when he/she is just in chapter 1. A better approach would be introducing React only in 1 chapter and after maybe 2 chapters making a comparison. As it is now, chapter 1 just made people stare at some code examples.
Chapter 2 starts with pedal to the metal. You just learnt some React terminology and now you're shown React API functions signatures, descriptions and code examples for the most basic of ones. The more 'advanced' concepts later in the chapter such as 'Component Lifecycles' also have code examples and diagrams showing the order they're executed in. However not all of them are utilized in meaningful small apps.
Chapter 3 is a JSX intro with some modern ES6-ES7 tools mixed in ('babel' and 'browserify' to be specific). A boring chapter to me, since the JSX is pretty easy to understand and use. Here is where the code examples formatting and quality starts to get 'wild'. Indentation issues and what not. But bear with it, it just starts.
Chapter 4 'Building a Web Application' is the chapter that must make sense out of the whole book and everything you read so far. Surprisingly, it does way better than I would expect. It attacks the React thinking in components. Author starts with good wireframes break down of the functionality and explains how it would interact with the other components. The text needs a quotes here and there to easily distinguish the component's name and just info text. Either way, it's still a somewhat readable long text by the book standards. And then you're greeted by a throwaway "Rewrite an Existing Application" section showing an application without React. Needless to say, useless stuff since you're reading probably a total of 40 lines of HTML that won't confuse anyone if he/she saw it in an React component. Not being extra picky, moving on.
And when the React components code examples start to gather one by one in Chapter 4, things start to get really messy. I just said that anyone won't be confused by the total of 40 html lines, but by the React code that the author wrote - that's another thing. Let's start with the code examples being written absolutely messy. Weird indentations and overall sloppy style that's an eyesore to read till the end of the book. Other issue is the over-componentization in the code. For a simple " list item" or " option" tags you write a whole component. Wait a minute, you have that out of the box with React.DOM.
Following is "Testing your Application" which is a pleasant surprise. React testability is completely new to me. I was pleasantly surprised by the way the author addressed the usage of "jest" for testing. However the tested code was the least meaningful one. While it was a great surprise, it wasn't a great execution. The props or state-dependent code could be tested instead of a DOM element having the proper text. A throwaway unfortunately.
At last in Chapter 4 there's "Running your Application" that will tell you how to run your app and rewrite one of your components from ES5 to ES6. A poor choice of a component though. It's the basic `sign in` one. You won't learn the differences in API between 'React.createClass' or an 'ES6 class' when you try to use default state and default props. You'd have to google for that if you want to rewrite everything in ES6 classes. And even if you do so, it still won't run with the provided browserify and babel command combination since you'll need Babel experimental stage 0 (ES7 class properties). Again, google for that.
Chapter 5 and 6 are all about Flux. The most important chapters in the whole book. This is where things are well explained, with good examples (mostly taken from facebook flux repo examples but anyway, they're good).
Conclusion: The original content (code) that the book offers is mostly a mess that is there to introduce you the basics of React that you can also learn elsewhere without the code messiness. After mentioning messiness twice, if I could say, if you like to read all about React in an "organized" manner instead of say, just jumping to Scotch.io and reading their great React + Flux tutorials and also looking at the React documentation from time to time, then this book be somewhat useful to you.
However the better chapters 5 and 6 are just better because they use open-source available examples NOT made by the author himself. It's the perfect example of "standing on should of giants", but also trying to profit from this. I talk about moral, but that just shows that you're buying a re-wrapped content that you can read elsewhere.
A rating of 2/5 is a fair rating, given the effort of wrapping freely available content from open-source into a priced product.
I didn't enjoy this book that much because the pace was rather inconsistent. The first few chapters were really slow and I could live with that, then towards the end in turns into a mad rush to teach you everything that you need to be productive with react. I suppose rereading the book a couple of times would be best.
Not what I was expecting. This was more like a blog post with side-by-side comparisons of code snippets from various frameworks (with little to no explanatory text) combined with a cut-and-paste from the API docs.
This book outline what react is and draws a conceptual mental image with what another java script framework it must work with (ie. flux, jsx etc). You will get a hilevel understanding of the whole reac javascript framework but it doesn't help you to grok the underlying technical intricacies. Need to shop around for more books.