Skip to content

Instantly share code, notes, and snippets.

@naholyr
Created February 28, 2020 21:40
Show Gist options
  • Save naholyr/4adfa0d31802c8b47ace4071825ef111 to your computer and use it in GitHub Desktop.
Save naholyr/4adfa0d31802c8b47ace4071825ef111 to your computer and use it in GitHub Desktop.
Prerequisites for React.js express training

React.js training prerequisites

  • Basics of npm: install Node.js and npm, know how to search and install a dependency locally to your project or a tool like create-react-app globally, and how to run scripts (npm start, npm test, npm run whatever…)
  • ECMAScript new syntaxes and features we need and use are listed below (you'll benefit knowing them all, I just listed the ones you really use daily and inevitably with React), with links to Kangax tables which lists all those features and many more, with up to date links to Mozilla Developer Network documentation. Also see es6-features.org as a not pretty but efficient and concise introduction to most of those features.
    • ES2015 features:
      • let/const (forget about var, like forever)
      • arrow functions (you can basically forget about function keyword too)
      • class
      • template literals (just the syntax and string injection)
      • destructuring (a lot for component's props and hooks API)
      • rest parameters and spread operator (often heavily used in Redux reducers)
      • Promise
      • "object literal extensions" (mainly shorthand properties and shorthand methods, widely used now)
    • ES2016+ features
      • async functions
      • object rest/spread properties (often heavily used in Redux reducers)
      • also optional chaining operator and nullish coalescing operator may change your JS life ;)
    • ESNext (not yet in standard but mature enough)
      • instance and static class fields
  • Knowing how "this" works in JS: small but complete article in French written by myself, or the "You Don't Know JS" dedicated book in English
    • This knowledge + arrow functions + instance class fields allow you to access the most elegant and reliable solution to provide "auto bound" handlers to your components with best rendering performance
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment