Basic
Details
- One-way data flow, thinking in react
- JSX
-
key
property - Class components vs function components
- Main lifecycle methods for class components
- Main hooks
- useState
- useEffect
- Handling events, SyntheticEvent
- Controlled components
- React dev tools
Links
- https://reactjs.org/tutorial/tutorial.html
- https://beta.reactjs.org/learn
- https://reactjs.org/docs/thinking-in-react.html
- https://reactjs.org/docs/introducing-jsx.html
- https://www.geeksforgeeks.org/differences-between-functional-components-and-class-components-in-react/
- https://reactjs.org/docs/handling-events.html
- https://reactjs.org/docs/events.html
- https://blog.logrocket.com/controlled-vs-uncontrolled-components-in-react/
- https://www.upbeatcode.com/react/how-to-use-react-developer-tools/
- https://chrome.google.com/webstore/detail/react-developer-tools/
Intermediate
Details
- Component lifecycle (both class and hooks)
- React Fragment
- Rendering process
- Hooks
- useRef, using refs
- useEffect in depth
- useMemo
- useCallback
- useContext
- React Context
- React Portal
- Pure components
Links
- https://blog.isquaredsoftware.com/2020/05/blogged-answers-a-mostly-complete-guide-to-react-rendering-behavior/
- https://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/
- https://reactjs.org/docs/fragments.html
- https://www.robinwieruch.de/react-ref/
- https://wavez.github.io/react-hooks-lifecycle/
- https://reactjs.org/docs/portals.html
- https://reactjs.org/docs/context.html
- https://kentcdodds.com/blog/how-to-use-react-context-effectively
- https://dmitripavlutin.com/dont-overuse-react-usecallback/
- https://dmitripavlutin.com/react-useeffect-explanation/
- https://blog.logrocket.com/what-are-react-pure-functional-components/
Advanced
Details
- Virtual DOM in depth, reconciliation
- React fiber
- Concurrent rendering in React
- Server-side rendering in React, ReactDOMServer
-
dangerouslySetInnerHTML
- Hooks
- useInsertionEffect
- useImperativeHandle
- useTransition
- useSyncExternalStore
- React animation
- Testing
- ShallowRendering
- Alternative React implementations
- Preact
- Inferno
Links
- https://reactjs.org/docs/reconciliation.html
- https://dev.to/adityasharan01/react-virtual-dom-explained-in-simple-english-10j6
- https://blog.isquaredsoftware.com/2020/05/blogged-answers-a-mostly-complete-guide-to-react-rendering-behavior/
- https://blog.logrocket.com/deep-dive-react-fiber/
- https://blog.logrocket.com/react-concurrent-mode/
- https://swizec.com/blog/experimenting-with-the-new-react-concurrent-mode/
- https://beta.reactjs.org/apis/react/useMemo
- https://blog.logrocket.com/using-dangerouslysetinnerhtml-in-a-react-application/
- https://overreacted.io/react-as-a-ui-runtime/
- https://blog.logrocket.com/best-react-animation-library-top-7-libraries-compared/
- https://reactjs.org/docs/shallow-renderer.html
- https://kentcdodds.com/blog/why-i-never-use-shallow-rendering
- https://preactjs.com/
- https://www.infernojs.org/