DEV Community

Nikita Jiandani
Nikita Jiandani

Posted on

Topics to understand when learning React

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)

Collapse
 
alimobasheri profile image
MirAli Mobasheri

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!

Collapse
 
nikijiandani profile image
Nikita Jiandani

Yayy! Glad you found it helpful!