This is a list of all the useful topics and gotchas that I think might be useful for anyone looking to gain some further insight into some of the cool features/quirks of React.(I will try to update this article with links to resources.)
This does not include class based components and their explicit lifecycle methods.
Note: This is not a complete guide or a comprehensive list of resources but rather a collection of the main things I consider to be important React knowledge.
Easy project setup with Create React App
https://create-react-app.dev/docs/getting-started/
What is Component driven development?
https://github.com/component-driven/awesome-list#components
Unidirectional data flow?
Flavio Copes explains it pretty well
Functional programming concepts
What is the Virtual DOM?
JSX, props? - Make reusable components and communicate with them using props
Hooks? useState
, useEffect
etc.
Debugging strategies, React Dev Tools, Redux Dev Tools
Chrome extension links
React Dev tools - https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en
Redux Dev tools -
https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd?hl=en
PropTypes
Typechecking with PropTypes - https://reactjs.org/docs/typechecking-with-proptypes.html
The children
prop
Controlled components
React Context API
Refs?
useRef - Another hook 😇
State management with Redux
Redux does not actively enforce state immutability in its store or reducers, that responsibility falls on the programmer.
What are mapStateToProps
, mapDispatchToProps
?
Free Egghead course on Redux - https://egghead.io/courses/getting-started-with-redux
Redux tutorial by Dave Ceddia - https://daveceddia.com/redux-tutorial/
An explanation of how Redux works - https://www.youtube.com/watch?v=3sjMRS1gJys&feature=youtu.be
Some other things to consider
Code style guide?
Prettier, Linter
Top comments (2)
That's a great post. I know React well enough but I'm looking for whatever resource that could help me dive deeper into its fundamentals and concepts. Thanks for sharing!
Yayy! Glad you found it helpful!