Errata
The errata list is a list of errors and their corrections that were found after the product was released.
The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.
Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update
Version | Location | Description | Submitted by | Date submitted |
---|---|---|---|---|
Chapter 3, section "Filtering content", 1st paragraph | From the paragraph: |
Enrico Zschemisch | Aug 13, 2015 | |
Chapter 3, section "Filtering content" | From the text: |
Enrico Zschemisch | Aug 13, 2015 | |
Chapter 3, section "Filtering content" | Basically all enumerations/lists in Safari Books are broken, e.g. from chapter 3: |
Enrico Zschemisch | Aug 13, 2015 | |
? Chapter 3, Section "Sorting" |
The _sort method doesn't work (at least not in Safari). The problem presumably is that it doesn't fulfil the contract for the sort callback: It returns true or false, rather than -1, 0 or 1. |
Anonymous | Dec 03, 2015 | |
Mobi | Page loc. 22 "Note" text |
"All you need is place in the DOM..." |
Steve Clason | Dec 11, 2015 |
- Whinepad v.0.0.1, 1st code quote block |
it should be `cp` not `cd` |
Anonymous | Apr 17, 2016 | |
Chapter 6 Finally, add the example <Logo> to the discovery tool (js/build/discover.js): |
The books states "Finally, add the example <Logo> to the discovery tool (js/build/discover.js):" |
Anonymous | Jan 18, 2017 | |
ePub | Chapter 3 | In the "Setup" section, the text directs me to go to reacjs.com and click the "download button." This is apparently out of date, as there is no "download" button on the site currently, nor any link like that. |
Anonymous | Feb 21, 2017 |
Other Digital Version | Ch 6 2252 |
In the code for the Button component, the title of the Button is passed down to the underlying anchor or button as a property of the props object - e.g: |
Greg Sullivan | Jun 07, 2017 |
Page n/a Back cover - bottom of the page |
First release: 2016-07-12 |
Timea Bálint | Sep 03, 2021 | |
Printed | Page 1 Setup - 2nd paragraph |
To download a copy of React library, |
Jack Tan | Jan 13, 2018 |
Page 3 3rd paragraph |
The line "React: “do you magic right here”." should rather read "React: “do your magic right here”." |
Roman Blöth | Nov 29, 2015 | |
Page 7 Last part of page at bottom |
At the bottom of page 7 (of the pdf) are two examples. One of them is: |
Anonymous | Jul 23, 2015 | |
Page 9 last paragraph |
The last sentence "Let's how to do just that..." obviously lacks a word. |
Roman Blöth | Nov 30, 2015 | |
Page 19 Bottom page |
Following the example at the bottom of page 19, I come up with the following: |
Anonymous | Jul 23, 2015 | |
Page 19 Bottom page |
In my previous post it's important to first code the component before rendering it! |
Anonymous | Jul 23, 2015 | |
Page 30 Lifecycle Methods |
Language is inconsistent. |
Anonymous | Jul 24, 2015 | |
Printed | Page 37 second code snippet |
In the snippet under "Do the same in the TextAreaCounter:" |
Jason | Sep 09, 2016 |
Page 54 3rd code snippet |
At least in React (with addons) v0.14.3 and ReactDOM v0.14.3 the event "e" mentioned in "e.target.dataset.row" has no attribute "target.dataset.row" (target.dataset exists, but it has no "row"), so the code sample fails to function. |
Roman Blöth | Jan 16, 2016 | |
Page 54 3rd code snippet |
Sorry, it obviously is no error here - the issue is clarified on the following page. Possibly it would help the reader to mention that there's data missing before the snippet can work. |
Roman Blöth | Jan 16, 2016 | |
Printed, | Page 54 Last line of the page |
The book suggests calling the slice() method on this.state.data to "so you don't manipulate this.state directly". This however only creates a shallow copy as this.state.data is an array of arrays, and retains references to original data rows. Thus, subsequent changes (next book page) end up modifying the original state.data table. Even worse, due to how state.data is initialized, this also ends up modifying the original props.initialData. This will cause problems later on when the reader is asked to implement undo/redo methods as an exercise. |
Dmitry Denisenkov | Apr 27, 2017 |
Page 63 6th paragraph |
this.setState(newSate); |
KC Dunstan | Jan 30, 2017 | |
Printed | Page 70 2nd paragraph |
"When you load the page, the browser.js kicks in, finds all the text/jsx..." |
Alberto Stefanutti | Nov 03, 2017 |
Printed | Page 98 Transpile Java Script |
babel --presets react,es2015 js/source -d js/build |
Gary Follett | Sep 17, 2016 |
Printed | Page 98 Top of page |
The code on Github (as of this writing) lacks a package.json file. This is not unusual. Usually, and this is the step missing in the book, you run "npm init" before running "npm install". Like so: |
Joseph Brown | Dec 20, 2016 |
Page 102 1st sentence |
Error: "When you use a <select> input in HTML, you specify pre-selected entires using |
Anonymous | Mar 01, 2016 | |
Page 105 2nd Code block |
Right at the beginning of the code block, it is missing the line: |
Enrique Condes | Feb 27, 2018 | |
Printed | Page 107 3rd Paragraph |
build and source directory mixed up: |
Joel | Sep 06, 2016 |
Printed | Page 108 2nd paragragh |
"..., you can start backwards by defining example usage of the component in the discovery.js tool." |
Joel | Sep 06, 2016 |
Printed | Page 108 2nd paragragh |
"..., you can start backwards by defining example usage of the component in the discovery.js tool." |
Joel | Sep 06, 2016 |
Page 114 2nd paragraph |
error: npm install --save-dev babel-preset-es20015 |
Anonymous | Mar 02, 2016 | |
Page 116 1st sentence |
$ (Get-Content bundle.css).replace('../../images', 'images') | Set-Content bun |
Anonymous | Mar 02, 2016 | |
Page 118 Code Block, 8th line |
On execution time, the lines: |
Enrique Condes | Feb 28, 2018 | |
Page 131 _sort() function |
[column] should be [key]. All four occurrences should be changed. |
Anonymous | Jul 13, 2017 | |
Page 145 After 3rd paragraph |
$ npm i -g eslint eslint-plugin-react eslint-plugin-babel |
Peer Reynders | Oct 13, 2016 | |
Page 146 After 3rd paragraph |
"rules": { |
Peer Reynders | Oct 13, 2016 | |
Printed | Page 156 1st paragraph |
Consider correcting "...no promises that down the road, as you app grows, you're not going to end up..." |
Karnei Gozman | Jan 24, 2019 |
Printed | Page 173 End of page, last two lines |
Exporation is not a word |
Karnei Gozman | Jan 25, 2019 |
Printed | Page 176 bottom of page |
app.jss should be app.js |
Karnei | Jan 25, 2019 |
Other Digital Version | 1255 Code near the bottom of the page |
In the "Instant Replay" section of chapter 3, the code to log the state has a bug, in that the first user-triggered state (the second state, with the initial state being the first state) is not logged. The simplest fix is just to log BOTH the initial state and the first user-triggered state in the first call to _logSetState, and I include suggested code below. Perhaps a more elegant fix would be to actually log the initial state in a lifecycle method (e.g componentDidMount), and then only log newState in _logSetState. |
Greg Sullivan | May 03, 2017 |
ePub | Page 2069 Chapter 5 - Deployment (end of) |
I think readers will need to install the following NPM packages globally: |
Daniel Rhoades | Sep 29, 2016 |
Other Digital Version | 2431 <Rating> component |
The sentence: |
Greg Sullivan | May 22, 2017 |
Other Digital Version | 2481 N/A |
The sentence "The drawback is more boilerplate in the controller" should read "The drawback is more boilerplate in the constructor". |
Greg Sullivan | May 22, 2017 |
Other Digital Version | 2758 Ch 6 |
In the App Config section, the following sentence: |
Greg Sullivan | May 25, 2017 |
PDF, ePub, Mobi | Page 10672 text |
typos: |
Anonymous | Sep 17, 2019 |