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
Oldest 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!