|
9 | 9 | 
|
10 | 10 |
|
11 | 11 | ## 💡 Lessons Learned
|
12 |
| -- ES6 `map` |
13 |
| -- Javascript Deconstructering |
14 |
| -- Higher order functions |
15 |
| -- React `Fragment` |
16 |
| -- React `ErrorBoundary` |
17 |
| -- React component nesting |
18 |
| -- React folder organization |
19 |
| -- Smart component (manages state) vs basic component |
20 |
| -- Class stateful component vs functional stateful component |
21 |
| -- React Hooks `useState` and `useEffect` |
22 |
| -- Redux `connect` vs `useSelector` and `useDispatch` |
23 |
| -- Redux middleware such as async actions using `redux-thunk` and logging using `redux-logger` |
24 |
| -- Redux folder organization |
25 |
| -- Website performance optimization using [WebPageTest](https://www.webpagetest.org/) |
26 |
| -- React performance optimization using `React.memo`, `PureComponent`, and `shouldComponentUpdate` |
27 |
| -- React debugging and performance optimization using Chrome Dev Tools Performace tab and React Developer Tools |
28 |
| -- Route-based code splitting with `React.lazy()` |
29 |
| -- Component-based code splitting with `react-loadable` |
30 |
| -- [Emotion](https://emotion.sh/docs/introduction) for styling components |
| 12 | +- [Javascript](https://www.javascript.com/) |
| 13 | + - ES6 `map` |
| 14 | + - Javascript Destructering |
| 15 | + - Higher order functions |
| 16 | +- [React](https://reactjs.org/) |
| 17 | + - React `Fragment` |
| 18 | + - React `ErrorBoundary` |
| 19 | + - React component nesting |
| 20 | + - React folder organization |
| 21 | + - Smart component (manages state) vs basic component |
| 22 | + - Class stateful component vs functional stateful component |
| 23 | + - React Hooks `useState` and `useEffect` |
| 24 | +- [Redux](https://redux.js.org/) |
| 25 | + - Redux `connect` vs `useSelector` and `useDispatch` |
| 26 | + - Redux middleware such as async actions using `redux-thunk` and logging using `redux-logger` |
| 27 | + - Redux folder organization |
| 28 | +- Performance Optimization |
| 29 | + - Website performance optimization using [WebPageTest](https://www.webpagetest.org/) |
| 30 | + - React performance optimization using `React.memo`, `PureComponent`, and `shouldComponentUpdate` |
| 31 | + - React debugging and performance optimization using [Chrome Dev Tools](https://developer.chrome.com/docs/devtools/) [Performace tab](https://developer.chrome.com/docs/devtools/evaluate-performance/) and [React Developer Tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en) |
| 32 | + - Route-based code splitting with `React.lazy()` |
| 33 | + - Component-based code splitting with `react-loadable` |
| 34 | +- [Emotion](https://emotion.sh/docs/introduction) |
31 | 35 | - Progressive Web Applications (PWA)
|
32 |
| -- Dynamic vs Static Typing and Weakly vs Strongly Typed |
33 |
| -- Typescript commands `tsc name_of_file.ts` to run the Typescript compiler on the specified file, `tsc --init` to generate tsconfig.json file, and `tsc name_of_file.ts --watch` to enable hot-reloading for the specified file |
34 |
| -- Typescript types: boolean, number, string, array, objects, null, undefined, tuple, enum, any, void, never, interface, function, classes, and union |
35 |
| -- Refactoring applications with Typescript and using [DefinitelyTyped](https://definitelytyped.org/) to install the correct dependencies |
36 |
| -- Refactoring Typescript into a Progressive Web Application that uses React and Redux |
37 |
| -- Unit Tests, Integration Tests, Automation Tests |
38 |
| -- Testing behavior vs. implementation details |
| 36 | +- [Typescript](https://www.typescriptlang.org/) |
| 37 | + - Dynamic vs Static Typing and Weakly vs Strongly Typed |
| 38 | + - Typescript commands `tsc name_of_file.ts` to run the Typescript compiler on the specified file, `tsc --init` to generate tsconfig.json file, and `tsc name_of_file.ts --watch` to enable hot-reloading for the specified file |
| 39 | + - Typescript types: boolean, number, string, array, objects, null, undefined, tuple, enum, any, void, never, interface, function, classes, and union |
| 40 | + - Refactoring applications with Typescript and using [DefinitelyTyped](https://definitelytyped.org/) to install the correct dependencies |
| 41 | + - Refactoring Typescript into a Progressive Web Application that uses React and Redux |
| 42 | +- Testing |
| 43 | + - Unit Tests, Integration Tests, Automation Tests |
| 44 | + - Testing behavior vs. implementation details |
39 | 45 |
|
40 | 46 | ## 🤔 Senior Software Engineer Considerations
|
41 | 47 | ### Why Use React, What Came Before It?
|
|
0 commit comments