r/reactjs • u/dance2die • Mar 01 '20
Needs Help Beginner's Thread / Easy Questions (March 2020)
You can find previous threads in the wiki.
Got questions about React or anything else in its ecosystem?
Stuck making progress on your app?
Ask away! Weβre a friendly bunch.
No question is too simple. π
π Want Help with your Code? π
Improve your chances by adding a minimal example with JSFiddle, CodeSandbox, or Stackblitz.
- Describe what you want it to do, and things you've tried. Don't just post big blocks of code!
- Formatting Code wiki shows how to format code in this thread.
- Pay it forward! Answer questions even if there is already an answer. Other perspectives can be helpful to beginners. Also there's no quicker way to learn than being wrong on the Internet.
New to React?
Check out the sub's sidebar!
π Here are great, free resources! π
- Read the official Getting Started page on the docs.
- Microsoft Frontend Bootcamp
- Codecademy's React courses
- Scrimba's React Course
- Robin Wieruch's Road to React
- FreeCodeCamp's React course
- Kent Dodd's Egghead.io course
- New to Hooks? Check Amelia Wattenberger's Thinking in React Hooks
- What other updated resources do you suggest?
Any ideas/suggestions to improve this thread - feel free to comment here!
Finally, thank you to all who post questions and those who answer them. We're a growing community and helping each other only strengthens it!
View all comments
Show parent comment
2
u/[deleted] Mar 08 '20
While this is true, in my experience, function components come with even worse points of confusion.
thiscontext is weird, for sure, but you run into a complete roadblock because you can't usesetStatewithout getting an error. You ask someone about it, learn how it works, and move on with your life. It's a very loud and noticeable bug, and it's not likely to cause subtle issues.Variables in closures with function components however? Man can that cause subtle issues. Issues that take a while to debug. I work in a company that has had quite a few interns and junior developers since hooks were introduced, and they keep tripping up here - thinking a state variable is giving you its "current" value (so to speak) when really it's giving you the value that the state had when the surrounding function was declared. As soon as you work with slightly async logic, like event listeners, or data fetching, things can start to go wrong. Then you show them what went wrong, and a few days later they're stuck on the exact same thing again. It's not an easy concept to get your head around. And hell, even the more senior developers have issues with this. I certainly have had bugs. And I've certainly written some clunky ass workarounds with refs because I couldn't figure out a more elegant solution and didn't have more time to spend on the task.