I’ve just recently finished the last project from the legacy front end cert and went through the React challenges recently.
I feel like I’m at the perfect point to jump into React because of what I’ve built so far and what I’ve learned along the way.
Learning Inheritance and the prototype chain as well as the ES6 Class syntax which is syntactical sugar for it definitely helps with React.
The last project I built, the Simon game, for some reason I built the whole thing inside an object. I just meant to write part of it in the object to manage state and maybe have a couple methods but it got out of control.
Point being I learned intimately about the this keyword as well as how to pass it around with bind and call. I later refactored and only used smaller object for the state but working so much with the this keyword before my refactor taught me a lot!
Another personal project I did was I wanted to display all of my YouTube favorites all on one page instead of having to click next over and over again. So I had to manually create code that spit out html that had other html nested inside with all the appropriate attributes etc but hated seeing messy strings of html.
To avoid the messy html strings I was using document.createElement to make elements and then filling it in with setAttribute, innerHTML, and using appendChild to nest.
I later learned about JS tempting engines like Mustache and Handlebars which would have helped me avoid all that.
My attitude, although I don’t know how practical it is, is to try and learn/practice/build enough until I run into the problems (or at least understand them) that these frameworks were built to solve.
One really motivating thing for me was learning to use API’s for the legacy weather, twitch, and quote projects.
The new curriculum is designed to let you jump around more so maybe rounding off more fundamentals or more build experience might make React come easier.
Two last things, It’s really motivating to build your own project of something fun that also uses everything you’ve learned so far. And FCC really requires you supplement it with books, videos, and tutorials.
And yeah, setting up your own development environment on your PC is a must. Just start with VS Code and a local web server.