Yes, keep in mind that FCC is not supposed to be comprehensive. The fact that you didn’t master everything just from FCC is normal. You’re expected to consult outside sources and keep learning.
As to algorithms, a lot people hate them. But you will always use algorithms. Maybe not the specific ones that we have here, but any non-trivial app is going to have some algorithms in them and some apps will have a lot. Algorithm practice makes you think better. Learning the language gives you the tools, but thinking better helps you build a better app. Two apps can do the same things, but one app may do it smaller and faster. And being good at thinking about these things will help you spot potential edge cases that may break a “less good” algorithm. They are important to becoming a better coder. So, we’re all writing algorithms all the time. The question is are we choosing the best approach. A good coder looks at a problem, thinks about different ways to solve it, and uses his knowledge of algorithms to choose the best approach based on the needs of that app. That comes with practice. Algorithms problems are good at teaching that. Algorithms also show up on a lot of job interviews. Even if not, if you’re relying on your portfolio, if you have a lot of O(n^3) algorithms where the interviewer knows that there is an easy O(n log n) solution, they will raise their eyebrows. But you aren’t expected to be an expert in such things at this point. But I would not advise ignoring it either. Books like Cracking the Coding Interview is also a great resource for things like this.
How much do VanillaJS algorithms affect ReactJS?
Well, you certainly need to know vanilla JS for React. And you have to know ES6 pretty well (which is pretty much vanilla JS at this point, even if it sometimes gets called out separately). React uses a lot of ES6. And anytime you’re dealing with large sets of data and transforming that data, that is algorithms.
Do you need to be an expert at algorithms to start React. No, not really. But in the long run, it will make you a better coder in general which will also make you a better React developer.
Really, there is no such thing as “VanillaJS algorithms”. There are algorithms, and they are language agnostic. I’ve worked with coders at meetups where were doing algorithm challenges and we’re both working in different languages, but we can discuss the algorithm irrespective of the language. Sometimes we even write the algorithm in pseudocode. Once you understand the solution, then you apply whatever language you want. Algorithms aren’t really about learning the language better (although they can help with that if you’re still learning the language) - they’re about thinking about a problem and what steps are needed to solve it.
You already have some basic algorithmic knowledge.
How would you double all the numbers in an array? We could discuss that with someone irrespective of language. That is a basic and simple algorithm with a very simple solution.
But, no, you don’t have to be an algorithm expert to start learning React.